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

0 comentarios: