2011-09-21 12 views
5

Tengo un botón ASP.NET que a veces no se publica de nuevo. He comprobado esto en IE desarrollador y encontraron que cuando el botón no funciona options.clientSubmit se establece en false en la función WebForm_DoPostBackWithOptions()Botón ASP.NET options.clientSubmit está configurado como falso

Mi código del botón

<asp:Button 
      runat="server" 
      ID="btnSubmit" 
      CssClass="button" 
      OnClick="btnSubmit_Click" 
      meta:resourcekey="btnSubmitResource1" /> 

Dentro WebForm_DoPostBackWithOptions(options)

if (options.clientSubmit) { 
    __doPostBack(options.eventTarget, options.eventArgument); 
    } 

Puede alguien decir ¿por qué el botón a veces funciona y a veces no? ¿Qué debo hacer para que funcione siempre?

+3

¿Hay alguna pregunta ahí? No puedo ver uno. – Lazarus

+0

Hice algunas modificaciones, ¿puedes ver la pregunta ahora? –

+0

Tengo un problema similar, pero estoy usando OnClientClick. La opción clientSubmit se codifica como falsa en el código generado: WebForm_DoPostBackWithOptions (new WebForm_PostBackOptions ("enroll1 $ btnSubmitCC", "", true, "", "", false, false)); – xr280xr

Respuesta

2

Pruebe agregar CausesValidation = "False" y vea qué ocurre. Sospecho que tienes una validación que no está pasando.

+0

Gracias pero ya lo probé y no funcionó :( –

1

¿No está utilizando nada para evitar el envío repetido del formulario?

que tenía exactamente el mismo problema, el método de validación .Net indicó que la forma era válido, pero options.clientSubmit siempre fue falsa: S

El culpable resultó ser:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.prevDblSubmit').preventDoubleSubmit(); 
    }) 
</script> 
3

Esto puede ser una posibilidad:

Compruebe si tiene Validators en la página que no se han agrupado en ValidationGroup y pueden ser visibles falsos (puede que el contenedor debido sea visible falso). Este validador puede estar validando el control que no es relevante bajo esta circunstancia y provoca que la devolución de datos se cancele diciendo que no es válido.

Si encuentra alguno, para agrupar todos los controles relacionados, asigne un ValidationGroup a todos los Validators correspondientes y luego asigne ese grupo a su control de envío (lo que cause la devolución de datos). Este es el error más común que he visto ..

Cuestiones relacionadas