2010-07-13 11 views

Respuesta

8

Para hacer una devolución de datos a través de JavaScript se puede llamar al siguiente lado del servidor para crear el código JavaScript para usted:

string postBackJavascript = Page.GetPostBackEventReference(yourControl); 

Esto devolverá el código JavaScript __doPostBack como una cadena, y necesitará lugar en su página adjunta a algo o se puede llamar a la __doPostBack directamente por su cuenta con:

__doPostBack(yourControlId,''); 

Si lo estás haciendo a ti mismo y no usar Page.GetPostBackEventReference a continuación, asegúrese de obtener el ClientID para el control que desencadenó la validación, como:

__doPostBack('<%= yourControl.ClientID %>',''); 

EDIT: Después de volver a leer su pregunta que no ha dicho que quería desencadenar la devolución de datos basado en un control ASP.NET, es posible que ni siquiera a utilizar cualquier ASP.NET controla lo que en ese caso si sólo quiere hacer una devolución de datos de vainilla que puede hacer:

document.forms[0].submit(); 
+0

bien, ya que lo solicitó ... estoy tratando de enviar usando un botón ASP.Net. ahora mismo no puedo obtener el botón para NO enviar. Tengo OnClientClick = "validate(); return false;" pero parece no funcionar ¿¿Algunas ideas?? – bill

+0

@ bill que debería funcionar ... intente eliminar el 'validate()' y vea si solo 'return false;' funciona. Mi presentimiento es que estás haciendo algo en el 'validate()' que está causando ese comportamiento porque parece correcto. Tal vez comience otra pregunta e incluya su código 'validate()'. – Kelsey

+0

Puede tener problemas para cancelar el comportamiento del botón a medida que se acumulan los eventos. Así que la devolución de datos que originalmente estaba allí se dispara antes de su javascript. Por lo tanto, debe borrar el evento original primero antes de poner el suyo en la parte superior. De lo contrario, el botón siempre se enviará. – Simon

3

Si desea publicar de nuevo, puede usar __doPostBack() que ASP.NET puso en <form>. Eche un vistazo a este link. Si desea enviar otro formulario simplemente llame al .submit() en el elemento de formulario.

3

debe ser tan simple como

document.forms[0].submit(); 

Proporcionar d, solo tiene un formulario en la página, o bien necesita usar el nombre del formulario en lugar del índice 0.

Cuestiones relacionadas