我们的一个ASP.NET WebForms 3.5页面突然决定不再渲染__doPostBack()
javascript方法以及支持<hidden>
字段。强制ASP.NET WebForms呈现__doPostback()脚本
一切似乎在页面上确定 - 我唯一改变的事情是,我去掉一个SelectList
控制回传处理程序,改变AutoPostback
从True
到False
同一控制。页面上还有其他几个(未更改)元素具有回发处理程序。
我也在页面上使用jQuery验证,但它在工作之前就像一个魅力,而且我没有改变JavaScripts中的任何东西。是的,我已经看过this question,但该解决方案并不适用于我 - 目前我们没有使用任何缓存。
UPDATE:
看来,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来渲染用于回发的客户端脚本,所以我的事件处理程序被调用?
是的,它的确如此,就像页面上的所有其他服务器控件一样。 – 2010-07-30 09:00:44