not net esta ejemplo definido asp __dopostback asp.net dopostback

asp.net - net - ¿Está bien usar__doPostBack()?



javascript:__dopostback (5)

¿Está bien usar __doPostBack() o no se recomienda porque se genera desde ASP.Net y no estamos seguros de si lo cambiaron en una próxima versión de ASP.Net?


Creo que está perfectamente bien usarlo directamente, y lo he usado sin falta, es solo una función de JavaScript después de todo.


Lo recomendaría, ya que es un elemento interno de ASP.NET y nunca fue diseñado para ser usado directamente.

En su lugar, lo que estoy haciendo cuando necesito "manualmente" activar PostBack es agregar el botón oculto del "lado del servidor" con el OnClick apropiado:

<asp:Button id="btnDummy" runat="server" OnClick="Foo" style="display: none;" />

Entonces el JS es:

document.getElementById("<%=btnDummy.ClientID%>").click();

De esta manera no me importa cómo suceda la devolución, solo desencadeno el flujo natural de eventos.


Lo usamos en todo el lugar y no puedo imaginar que alguna vez sea eliminado de ASP.NET. Creo que el método de botón falso / oculto es tan hokie si no peor. Si utiliza el enfoque de botón falso, entonces no tiene opción de pasar el __EVENTARGUMENT. Me gusta usar __EVENTARGUMENT para pasar mis datos al servidor mejor que crear campos ocultos, ya que sería más difícil para un pirata informático comprometerse que simplemente devolver un campo oculto a mi página. Tampoco me gusta la idea de crear campos y controles en la página si ni siquiera se van a mostrar. Estoy seguro de que el enfoque del botón falso es probablemente más fácil de entender para un programador novato. Dicho esto, estoy buscando una forma más elegante de abordar esto, pero todavía me encuentro llamando

__doPostBack(''%=UpdatePanel.ClientID%>'',''MyData'')

en algunos casos.



Probablemente no lo cambien, pero ¿por qué llamarlo directamente?
Creo que es una mejor estrategia para activar el evento (por ejemplo, hacer clic en un botón) y dejar que el control active la devolución.

Si necesita activar la devolución de datos directamente, se recomienda utilizar las funciones de Page.ClientScript que se describen a continuación.