【问题标题】:How to detect a postback in frontend (aspx)如何在前端(aspx)中检测回发
【发布时间】:2011-03-11 23:43:10
【问题描述】:

我需要在前端检测回发,以便可以将它与 JQuery 一起使用来更改页面加载时的类。我该怎么做?

【问题讨论】:

标签: c# jquery asp.net webforms


【解决方案1】:

您可以检查 IsPostBack 属性。例如:

<script type="text/javascript">
    $(function()
    {
        var isPostBack = <%=Page.IsPostBack.ToString().ToLower()%>;

        if (isPostBack)
        {
             alert("Postback");
        }
    });
</script>

【讨论】:

    【解决方案2】:

    盗自this post:

    在服务器端有这个

    if(IsPostBack)
    {
       // NOTE: the following uses an overload of RegisterClientScriptBlock() 
       // that will surround our string with the needed script tags 
       ClientScript.RegisterClientScriptBlock(GetType(), "IsPostBack", "var isPostBack = true;", true);
    }
    

    在客户端这个

    if(isPostBack) {
       // do your thing
    }
    

    【讨论】:

    • 如何获取 ClientScript 对象。我输入了它,但没有智能感知来添加命名空间。
    • 嗯,也许试试 Page.ClientScript?它是 System.Web.UI 的一部分:msdn.microsoft.com/en-us/library/…
    【解决方案3】:

    我将此变量放在我的 asp.net 网页表单页面的标题标签中。

    <script type="text/javascript">
        var isPostBack = ("true"==="<%= Page.IsPostBack ? "true" : "false" %>");
    </script>
    

    var 包含一个布尔值。比较可能会缩短。

    【讨论】:

      【解决方案4】:

      简单:

      如果您使用的是 jquery,则必须继续使用(否则 jquery 会发疯):

          $(document).ready(function(){
      
          });
      
         var isPostBack = <%=Convert.ToString(Page.IsPostBack).ToLower()%>;
      

      然后

          function whatever(){
                  if (isPostBack){
                  //Whatever you want to do
                  }else{
                  //Whatever else you want to do
                  }
          }
      

      我实际上将它与 jquery 一起使用来显示 Web 服务状态框,然后强制回发以刷新 ListView,因此当它回发时它不会调用 Web 服务或仅显示更新后的 ListView 数据的状态框.

      【讨论】:

        【解决方案5】:
        $("a[href^='javascript:__doPostBack']").click(function () {
            // do something
        });
        

        【讨论】:

          猜你喜欢
          • 2011-08-16
          • 1970-01-01
          • 2010-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多