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

时间:2011-08-19 23:02:31

标签: javascript c# jquery asp.net

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

2 个答案:

答案 0 :(得分:16)

JavaScript没有回发的概念。检测此客户端的最简单方法是在帖子后面 [在此插入您的服务器端语言] 编写/设置JavasScript变量。

在C#中,它看起来有点像这样:

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

JavaScript的:

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

答案 1 :(得分:1)

我使用asp:hiddenfield在page_load上获取它的值。

在客户端上,您可以使用jQuery将值作为字符串获取,将其与' true'进行比较。产生一个布尔值。

HTML:

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

VB.NET(在page_load中):

Me.hdnIsPostback.Value = Me.IsPostBack

使用Javascript:

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