【发布时间】:2011-03-23 03:28:43
【问题描述】:
我们的一个 ASP.NET WebForms 3.5 页面突然决定不再呈现 __doPostBack() javascript 方法以及支持的 <hidden> 字段。
页面上的其他一切似乎都正常 - 我唯一更改的是我删除了 SelectList 控件上的回发处理程序,并将同一控件上的 AutoPostback 从 True 更改为 False。页面上还有几个其他(未更改的)元素具有回发处理程序。
我也在页面上使用了 jQuery 验证,但它之前就像一个魅力,而且我没有更改 javascripts 中的任何内容。是的,我见过this question,但该解决方案不适用于我——我们目前根本没有使用任何缓存。
更新:
似乎 ASP.NET 决定不需要我的客户端脚本,因为没有控件是 depending on postback。但是,我有一个用于提交的按钮控件,它在服务器端有一个事件处理程序,并且从不调用该事件处理程序 - 我怀疑这是因为该按钮被允许只是一个常规的 <input type="submit"> 并提交表单标准 HTTP 方式,而不是使用 ASP.NET __doPostBack 脚本。
这是我的控件(在代码隐藏中可见设置为True):
<asp:Button ID="SaveNewButton" runat="server" CssClass="inputbutton"
Visible="false" OnClick="SaveNewButton_Click" />
这是代码隐藏中的处理程序方法:
Protected Sub SaveNewButton_Click(ByVal sender As Object,
ByVal e As System.EventArgs) Handles SaveNewButton.Click
如何强制 ASP.NET 为回发呈现客户端脚本,以便调用我的事件处理程序?
【问题讨论】:
标签: asp.net webforms postback rendering