Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/04/2005, 23:10
Avatar de xknown
xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Cita:
Iniciado por rodri
Tengo una pequeña duda
Por qué no lo pusiste en un nuevo mensaje??

Bueno, el "problema" radica en la forma en la que son añadidos dichos atributos por el .Net Framework, te pongo el ejemplo para el caso de la validación:

Añade el evento onclick del botón* en el lado del cliente
Código:
Button1.Attributes.Add("onclick","return confirm('Estas Seguro');");
Si es que no se utiliza ningún validador o la propiedad CausesValidation del botón* está en false, generaría este código:
Código:
<input ... onclick="return confirm('Estas Seguro');" ... />
Caso contrario, generaría el siguiente código:
Código:
<input ... onclick="return confirm('Estas Seguro');if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " ... />
Y si estás familirarizado con javascript, observerás que sólo se va a ejecutar "return confirm('Estas Seguro');", por consiguiente no se realiza la validación.

Para "solucionar" esto, lo que puedes hacer es poner la propiedad CausesValidation del botón* en false, para evitar que se añada lo siguiente al evento onclick: "if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();"

Entonces tu código quedaría de esta forma:

Código:
 Button1.Attributes.Add("onclick", "if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();return confirm('Estas Seguro');");
botón*: puede ser cualquier control que acepte la propiedad Attributes y haga un postback

Cita:
Iniciado por rodri
Como hago para que al cargarle en el método Control.Attributes.Add(); cualquier funcion javascript, persistan otras funciones asignadas al mismo evento ya del lado del servidor? (en este caso un OnClick)
Sólo el interés de saber como funcionan las cosas .

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño

Última edición por xknown; 16/04/2005 a las 23:16