【问题标题】:What is the meaning of __doPostBack function, and when is it used?__doPostBack 函数是什么意思,什么时候使用?
【发布时间】:2011-03-21 09:58:30
【问题描述】:

我在触发服务器端按钮点击事件时遇到问题,所以我在网上找到了一个解决方案,我应该做类似的事情

  <input type="submit" name="button" id="loginButton" value="Submit" 
                            class="button-orange" alt="Register" title="Register" runat = "server" onclick ="this.disabled=true;__doPostBack('loginButton','')"/>

我做到了,并且成功了,但我想知道发生了什么!

【问题讨论】:

    标签: javascript asp.net postback submit


    【解决方案1】:

    查看这篇文章:

    Understanding the JavaScript __doPostBack Function

    此方法用于向服务器提交(回发)表单,并允许 ASP.NET 框架调用附加到引发回发的控件的适当事件处理程序。

    您通常(在简单场景中)不直接使用该方法 - 它由您放置在页面上的控件在内部使用。

    传递给此函数的参数存储在一个隐藏字段中,并由服务器端的 ASP.NET 框架获取,以便找到引发回帖的控件。

    【讨论】:

    • 我在发布我的问题之前已经阅读了这篇文章,但在整篇文章中没有任何内容说明“PostBack”的含义以及何时使用它。还有为什么调用它使我的服务器端点击事件起作用!这对许多人来说可能是微不足道的,但我是网络开发的新手
    【解决方案2】:

    简单地说,它主要用于具有 AutoPostBack 属性的控件

    http://www.dotnetspider.com/resources/189-AutoPostBack-What-How-works.aspx

    如果你想为你的自定义控件实现自动回发,那么你需要实现IPostBackDataHandler

    【讨论】:

      【解决方案3】:

      解决方案可能有效,但不是真正的解决方案。更好的方法是找出按钮事件未触发的原因并解决问题的核心。

      现在回答您的问题。PostBack 是用于描述何时将表单提交(发布)回同一页面的术语。就这么简单。

      普通的提交按钮就足够了,但 PostBack 的一部分是能够识别哪个控件触发了它,这意味着点击了哪个按钮或链接。

      要做到这一点ASP.NET 会自动将隐藏字段添加到表单中,并且当单击应该导致 PostBack 的元素时,JavaScript 代码用于将这些隐藏字段的值更新为指示单击内容的正确值 -你传递的论点。

      微软选择给执行上述操作的 JS 函数的名称是 __doPostBack - 它只是一个函数的名称,ASP.NET 自动写入浏览器的普通 JavaScript 函数。

      希望事情现在更清楚一点。

      【讨论】:

        猜你喜欢
        • 2020-08-15
        • 2012-08-23
        • 2011-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-08
        • 1970-01-01
        相关资源
        最近更新 更多