简体   繁体   English

在jQuery或javascript中是否有'if(!Page.IsPostBack)'这样的东西?

[英]Is there such a thing as 'if (!Page.IsPostBack)' in jQuery or javascript?

有没有办法检测页面何时加载它是回发还是只是页面加载?

JavaScript has no concept of post back. JavaScript没有回发的概念。 The simplest way to detect this client-side would be to have [Insert Your Server Side Language Here] write/set a JavasScript variable on post back. 检测此客户端的最简单方法是将[在此插入您的服务器端语言]在回发时写入/设置JavasScript变量。

In C#, it would look a bit like this: 在C#中,它看起来有点像这样:

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

JavaScript: JavaScript的:

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

I use an asp:hiddenfield which gets its value on page_load. 我使用asp:hiddenfield在page_load上获取它的值。

On the client you can get the value as a string using jQuery, compare it to 'true' resulting in a boolean. 在客户端上,您可以使用jQuery将值作为字符串获取,将其与“true”进行比较,从而得到一个布尔值。

HTML: HTML:

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

VB.NET (in page_load): VB.NET(在page_load中):

Me.hdnIsPostback.Value = Me.IsPostBack

Javascript: 使用Javascript:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM