2011-08-19 9 views
9

¿Hay alguna manera de detectar si, cuando la página se carga, se trata de una devolución de datos o simplemente de la carga de la página?¿Existe algo así como 'if (! Page.IsPostBack)' en jQuery o javascript?

+0

Al igual que en la devolución de datos como .Net? –

+0

@Russ sí .net. – guanome

+0

Esto se ha pedido mucho, la respuesta aceptada aquí es un buen ejemplo de lo que sugiere James: http://stackoverflow.com/questions/59719/how-can-i-check-for-ispostback-in-javascript –

Respuesta

16

JavaScript no tiene ningún concepto de publicación posterior. La forma más sencilla de detectar este lado del cliente sería tener [Inserte el idioma del lado del servidor aquí] escriba/establezca una variable JavasScript en la parte posterior de la publicación.

En C#, se vería un poco como esto:

ClientScript.RegisterClientScriptBlock(GetType(), 
     "isPostBack", 
     String.Format("var isPostback = {0};", IsPostBack.ToString().ToLower()), 
     true); 

JavaScript:

if(isPostback) { 
    // Postback specific logic here 
} 
1

utilizo un asp: HiddenField que recibe su valor en Load.

En el cliente, puede obtener el valor como una cadena usando jQuery, compararlo con 'verdadero', lo que da como resultado un booleano.

HTML:

<asp:HiddenField runat="server" ID="hdnIsPostback" /> 

VB.NET (en Load):

Me.hdnIsPostback.Value = Me.IsPostBack 

Javascript:

var isPostback = $("#<%=hdnIsPostback.ClientID%>").val().toLowerCase() === "true"; 
Cuestiones relacionadas