2010-05-28 13 views
8

Tengo un cuadro de diálogo jQueryUI con algunos cuadros de texto, más un botón. En este momento, la etiqueta asp:Button utilizada para generar el botón establece automáticamente su tipo como type="submit". La estructura del diálogo es tal que presionar enter en cualquiera de los cuadros de texto no debe llamar al evento click del botón. Parece que la forma más limpia de resolver el problema, si es factible, es configurar manualmente el tipo de botón en algo distinto de submit. ¿Hay alguna forma de hacer esto?¿Cómo configurar manualmente el tipo de entrada de botón en ASP.NET?

Editar: Se olvidó de mencionar esto, pero el texto del botón está vinculado a un elemento de la base de datos por <%# Eval() %>, que no funciona sin una etiqueta del lado del servidor.

Respuesta

11

" UseSubmitBehavior =" false" OnClientClick = "retorno"/>

La propiedad UseSubmitBehavior dice ASP.NET para rendir como type="button" e inserta una llamada __doPostBack() función en la propiedad onclick. El texto de la OnClientClick la propiedad se antepone al evento onclick del lado del cliente (con un punto y coma final si no lo incluye usted mismo), por lo que poner return simplemente cortocircuita el controlador de eventos y termina sin hacer nada en absoluto

2

Puede usar solo un botón html regular y configurarlo para lo que desee. No tiene que ser un botón asp de servidor.

En el archivo aspx:

<input type="button" value="My Button" onclick="DoSomeScript();" /> 
+0

¿Qué pasa cuando el valor del botón depende de un E val()? – jbreed

+0

¿Esto está en una cuadrícula de datos? –

0

no creo que se puede establecer de AutoPostBack en false en el control Button, que normalmente hacer lo que quiera.

En este caso, simplemente no usaría asp:Button y solo usaría <input type='button'>.

Cuestiones relacionadas