[英]OnClientClick event not firing
在我正在構建的網頁中,默認情況下需要隱藏一個div,當用戶單擊鏈接按鈕時該div才會顯示。 這是鏈接按鈕和以下div的代碼:
<asp:LinkButton runat="server" Text="Words & stuff go here"
OnClientClick="button_Click"></asp:LinkButton>
<div id="Calculator" runat="server" visible="false">
//CODE GOES IN HERE
</div>
這是cs文件中鏈接按鈕的代碼:
void button_Click(object sender, EventArgs e)
{
if (Calculator.Visible)
Calculator.Visible = false;
else if (!Calculator.Visible)
Calculator.Visible = true;
}
我在后面的代碼中有一個斷點,當我調試時,從未到達斷點,我也不知道為什么。
在客戶端點擊時用於客戶端事件。 您必須使用onClick =“ button_Click”使其起作用。
OnClientClick
希望button_Click事件在頁面上的javascript中定義,而不是在后面的代碼中的C#中定義。
看到這個 。
ASP .NET控件的OnClientClick屬性引用一個客戶端函數,這意味着它將嘗試調用JavaScript函數。
您有兩種方法可以修復代碼。
選項1:
如果希望按鈕執行回發並在.cs
文件中調用button_Click
函數,則只需將按鈕代碼更改為:
<asp:LinkButton runat="server" Text="Words & stuff go here" OnClick="button_Click"></asp:LinkButton>
選項2:
如果希望使用OnClientClick ,則可以執行以下操作(在.aspx
文件中):
<script type="text/javascript">
function button_Click() {
var calculator_id = '<%= Calculator.ClientID %>';
var calculator = document.getElementById(calculator_id);
if (calculator.style.display == 'none') {
calculator.style.display = 'block';
} else {
calculator.style.display = 'none';
}
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.