【问题标题】:Is there such a thing as 'if (!Page.IsPostBack)' in jQuery or javascript?jQuery或javascript中有'if(!Page.IsPostBack)'这样的东西吗?
【发布时间】:2011-10-30 23:50:56
【问题描述】:

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

【问题讨论】:

  • 像 .Net 回发一样?
  • 这被问了很多,这里接受的答案是詹姆斯建议的一个很好的例子:stackoverflow.com/questions/59719/…
  • @Russ 我想它被问了很多,但我找不到任何参考。

标签: javascript c# jquery asp.net


【解决方案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";

【讨论】:

    【解决方案2】:

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

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

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

    JavaScript:

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

    【讨论】:

      猜你喜欢
      • 2013-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多