我的工作是與下面的控制.aspx頁的舊ASP.NET Web窗體應用程序:按鈕onclick事件處理程序永遠不會觸發在Chrome只有
<asp:Button ID="Budget_Approve" OnClick="Budget_Approve_Click" runat="server"
Visible="True" Width="100" Height="30" Text="Approve"></asp:Button>
的Budget_Approve_Click
事件處理程序從未被擊中,我試圖確定爲什麼。我注意到在頁面加載時,該代碼得到執行一些內聯JS添加到onclick
屬性:
Budget_Approve.Attributes.Add("onclick", "return confirm_approve();");
的HTML是獲取呈現:
<input type="submit" name="ctl00$mainContent$Budget_Approve" value="Approve"
onclick="return confirm_approve();WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$mainContent$Budget_Approve",
"", true, "", "", false, false))"
id="ctl00_mainContent_Budget_Approve" style="height:30px;width:100px;">
所以,當我點擊,我希望confirm_approve()
到被執行。如果它返回true
,我期望回發併爲我的事件處理程序啓動。調試在Chrome中,我發現confirm_approve()
確實返回true
:
然而,回發不會發生,而Budget_Approve_Click
事件處理程序從未被擊中。爲什麼不?
編輯:我試圖刪除添加內嵌JavaScript代碼的行完全。但是,仍然沒有回傳。下面的HTML呈現爲按鈕:
<input type="submit" name="ctl00$mainContent$Budget_Approve"
value="Approve"
onclick="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("ctl00$mainContent$Budget_Approve",
"", true, "", "", false, false))"
id="ctl00_mainContent_Budget_Approve" style="height:30px;width:100px;" />
更新:才發現回發並在IE瀏覽器,但仍然沒有鍍鉻。是否有任何瀏覽器特定的設置或問題可能導致此問題?
thx爲輸入。嘗試過,但仍然沒有。我甚至試圖完全刪除這條線,但結果沒有改變。似乎有可能是一個更大的問題.. –
@mhornfeck - 什麼HTML生成?你可以編輯它回到你的回答 –
已發表原創問題 –