我們的一個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