Inyectar código javascript en un control asp .net

Situación:
Queremos inyectar un código javascript para controlar algún evento desde la parte cliente, tal como control de entrada, validación de datos, etc..., dentro de un control de servidor asp net.

Mas concretamente, queremos que se ejecute una parte de código directamente en el cliente y por otro lado se pueda ejecutar otro código de ese mismo control pero en el servidor.

Primero, en la parte aspx, introducimos la función javascript que queremos ejecutar:

  1. function validateFormat()

  2. {

  3. var txtEID = document.getElementById('txtID');

  4. ValidateEID(txtEID);
  5. ...
  6. ...

  7. }



Desde el servidor (vb), inyectamos en el control la llamada a la función javascript junto con el evento:
  1. Protected WithEvents btSearch As System.Web.UI.WebControls.Button



  1. Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

  2. If Not Page.IsPostBack Then

  3. ...

  4. ...
  5. Me.btSearch.Attributes.Add("onclick", "javascript:return validateFormat();")

  6. End If

  7. End Sub

De esta forma, primero se ejecutaría el código en la parte cliente del navegador y a continuación se lanzara el código asociado con del control desde el servidor.

Si durante la validación, en el javascript deseamos que no ese ejecute el código servidor, utilizaríamos este código :
http://tecnonotasdarthon.blogspot.com/2009/02/evitar-propagar-un-evento-con.html

Evitar propagar un evento con javascript.

Situación:
Tenemos un textbox o un input en html, en el que el usuario puede pulsar la tecla Enter. Al pulsar dicha tecla se puede lanzar un evento de perdida de foco o un submit de la pagina.

Para evitarlo, añadimos el siguiente código, que controla las pulsaciones de las teclas y controla las acciones al pulsar Enter.

  1. function keyEnter(e)

  2. {

  3. keynum=(document.all) ? e.keyCode : e.which;

  4. if (keynum == 13)

  5. {

  6. if (!e) e = window.event;

  7. if (e.preventDefault) {

  8. e.preventDefault();

  9. } else {

  10. e.returnValue = false;

  11. }


  12. if (e.stopPropagation) {

  13. e.stopPropagation();

  14. } else {

  15. e.cancelBubble = true;

  16. }

  17. }

  18. }



Por ultimo, solo nos queda añadir la llamada a la función desde el textbox:
  1. <asp:textbox id="txtID" onkeypress="keyEnter(event);" runat="server"></asp:textbox>

Cómo incrementar el tamaño de los discos virtuales (.VHD)

Es una pregunta relativamente frecuente, y que me ha traído varios días de cabeza es como cambiar el tamaño de una maquina virtual, cuando utilizamos Microsoft Virtual PC.



Una vez se ha especificado el tamaño de un disco virtual que utilizaremos, solo podemos cambiar el tipo de disco duro (disco dinámico o fijo ), pero no su tamaño. ¿que ocurre si dicho tamaño posteriormente se queda pequeño?



Una solución seria añadir un segundo disco virtual, pero no siempre es útil, ya que a veces es el disco del sistema operativo el que necesita espacio y con este método lo lograríamos nada.



Por fortuna podemos utilizar esta pequeña herramienta, VHD REsizer.

Utilizándola podemos cómodamente reasignar el espacio del disco duro y su tipo.

Por ultimo, una vez que hemos aumentado el tamaño del disco vhd, para poder utilizar el nuevo espacio desde el sistema operativo virtual, necesitaremos redimensionar la partición desde la propia maquina virtual. Podemos seguir los pasos del articulo anterior : Redimensionar una partición.


Redimensionar una partición

Generalmente, la mayoría de los discos duros tienen una sola partición, en la que esta instalado tanto el sistema operativo como las aplicaciones que utilizamos y todos los datos tanto de las aplicaciones (base de datos, archivos, etc ... ) como los de nuestro usuario (fotos, vídeos, música, etc ...)

Esto implica que cualquier cambio que realicemos en el sistema operativo, ya sea al actualizar una versión a otra, o si queremos instalar varios sistemas operativos o si tenemos problemas de virus, nos afecte a nuestros datos personales. Un método para minimizar este impacto, es dividir el disco duro en varias particiones, de manera que tengamos el sistema operativo en una partición independiente de los datos. Así podemos formatear rápidamente la partición del sistema, mientras nuestros datos están en otra partición.

Existen muchas aplicaciones para realizar este proceso, nosotros vamos a utilizar Paragon Partition Manager 9.0 Express. Tras instalarlar y registrarnos, obtendremos un numero de serie para poder utilizar la versión trial.

1-. Elegimos la opción "Crear Partición".

2-. Seleccionamos la unidad de disco duro que queremos dividir. (Cuidado, si tenemos varios discos duros, de elegir el adecuado)


3-. Seleccionamos el tamaño de la nueva partición.


4-. Una vez se lance el proceso, el equipo se reiniciara, creándose la nueva partición.


Igual de fácil, seria realizar el proceso contrario, es decir, cuando tenemos poco espacio en una partición y deseamos asignarle mas espacio. En este caso, siempre que tuviéramos varias particiones, podemos reducir el tamaño de una partición para aumentar el tamaño de otra.