utilizar qué proteger podríamos net llamar funcion forma ejecutar desde código crear codigo codebehind asp .net asp.net javascript webforms postback

.net - qué - ¿Cómo puedo encadenar mi propio JavaScript en el lado del cliente sin perder la funcionalidad de PostBack?



proteger codigo javascript (4)

Creo que lo que está preguntando aquí es cómo conectas las funciones de JavaScript para que funcionen de la mano con tu funcionalidad de publicación de ASP.NET.

es decir, ¿cómo puedo activar un evento de control usando mi propio Javascript?

La biblioteca de clases ASP.NET contiene una clase ClientScript: se encuentra en la clase System.Web.UI.Page, que le permite agregar Javascript mediante programación a su página ASP.NET.

Este contiene un método llamado ''GetPostBackEventReference'' que generará el script __doPostBack que ASP.NET utiliza para desencadenar eventos conectados a sus controles web.

Espero que tenga sentido

Así que estaba leyendo estas preguntas de la entrevista Asp.Net en el blog de Scott Hanselman y me encontré con esta pregunta. ¿Alguien puede arrojar algo de luz sobre lo que está hablando?


Te refieres a algo como esto:

en tu código detrás:

protected string GetPostBack() { return ClientScript.GetPostBackEventReference(this, null); }

y en tu aspx:

<a href="javascript:<%=GetPostBack() %>">Click here to postback</a>


<asp:LinkButton ID="lbEdit" CssClass="button" OnClientClick="javascript:alert(''do something'')" onclick="OnEdit" runat="server">Edit</asp:LinkButton>

El atributo OnClientClick significa que puede agregar algunos javascript sin perder la funcionalidad de PostBack. Esta sería mi respuesta en la entrevista.


Explica cómo funciona PostBacks

Las devoluciones son una abstracción sobre los protocolos web que emulan el comportamiento de estado sobre un protocolo sin estado.

, tanto en el lado del cliente

En el lado del cliente, las devoluciones se logran mediante llamadas javascript y campos ocultos que almacenan el estado de todos los controles en la página.

y del lado del servidor.

El lado del servidor atraviesa un ciclo de vida de eventos, parte de ese ciclo de vida es la hidratación de viewstate para mantener el estado de todos los controles en la página y la generación de eventos en base a los parámetros que se pasaron a la llamada __doPostBack en el lado del cliente

¿Cómo puedo encadenar mi propio JavaScript en el lado del cliente sin perder la funcionalidad de PostBack?

Depende de lo que se requiere. La forma más fácil que funciona el 99% del tiempo es usar asp: hiddenfield para comunicarse entre el lado del cliente y del servidor. Para casos límite, desea entrar en Exenders y manipular viewstate / controlstate / clientstate en javascript a través de las API MS ajax. Esto es bastante doloroso con una gran curva de aprendizaje y muchos problemas, generalmente usando campos ocultos y llamando manualmente a __doPostBack es suficiente

Así es como respondería ese punto. Para obtener más información sobre __doPostBack, un Google rápido le dará muchos resultados (para el perezoso, este es el primer hit http://aspalliance.com/895 )