[英]ASP.NET button not firing on click event
我是Asp.net的新手,我的問題可能不那么專業。 我在我的asp.net Web表單項目中使用Udemy.com的設計。 我把頁眉和頁腳udemy
在masterpage
。 但是,當我向其中一個網頁表單添加一個按鈕時,點擊事件將不會觸發。
<asp:Button ID="Button1" runat="server" onclick="Button1_Click1" Text="Button" />
protected void Button1_Click1(object sender, EventArgs e)
{
Page.Title = "Sample Text";
}
為了解決這個問題,我從我的頁面中刪除了所有腳本。 我還嘗試將CausesValidation
設置為False。 但沒有任何幫助。 你能幫我解決這個問題嗎?
我在我的代碼中添加了OnClick事件。 但我仍然面臨這個問題。
以前的所有答案都是正確的,除了您已經“OnClick”事件“添加”到“.aspx”文件。 我不知道它是你正在使用的模板中的某個東西,還是代碼中的其他地方。 但我建議您檢查以下內容(根據我遇到類似情況的經驗):
您可以嘗試的一些要點...您發布的代碼(更新后)應該可以使用。
Breakpoints
不標記或任何其他標記更改,但如果您需要它...您應檢查Title
組件是否具有runat="server"
屬性並且它位於更新面板中。 這是一個示例代碼,您在按鈕中錯過了“OnClick =”MyButton_Click“。
ASPX
<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />
code behind
protected void **MyButton_Click**(object sender, EventArgs e)
{
// Put code here over there chuhu
}
添加CausesValidation = "false"
按鈕的CausesValidation = "false"
屬性,如:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" CausesValidation="false"></asp:Button>
你缺少OnClick="Button1_Click"
。 你需要添加這樣的事件
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
如果要在代碼后面指定單擊處理程序,請確保它不在IsPostBack == false檢查中:
void Page_Load (object oSender, EventArgs oEventArgs)
{
if (IsPostBack == false)
{
oButton += new EventHandler(oButton_Click); // does not work
}
oButton += new EventHandler(oButton_Click); // does work
}
你的按鈕應該是這樣的
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
你能試試這個:
<asp:Button ID="Button1" runat="server" Text="Button" onClick="Button1_Click" />
您沒有提到按鈕單擊事件的事件處理程序。
希望能幫助到你。
試試這個
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
這是你的頁面指令嗎?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
嘗試將Button放在表單標記內
如
<form id="#" runat="Server">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
</form>
像這樣的頁面指令
Default.aspx的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
HTML
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
以下代碼應該在Default.aspx.cs中
protected void Button1_Click(object sender, EventArgs e)
{
Page.Title = "Sample Text";
}
我猜測可能存在的問題是指令中可能存在問題
Default.aspx的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
否則你不會在form標簽內調用asp:Button標簽
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</form>
這是一個示例代碼,您在按鈕中錯過了“OnClick =”MyButton_Click“。
ASPX
<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />
代碼背后
protected void **MyButton_Click**(object sender, EventArgs e)
{
// Put code here
}
我的個人答案是,您需要在Google中了解更多內容
asp.net的一些最好的教程
http://www.w3schools.com/aspnet/default.asp
http://www.asp.net/web-pages/tutorials
http://quickstarts.asp.net/QuickStartv20/default.aspx並且可以從MSDN網站上學到很多知識
你可以了解更多的asp.net控件等....
請在yourpage.aspx.designer.cs文件中正確定義檢查按鈕。
類似下面的代碼:
protected global::System.Web.UI.WebControls.Button Button1;
請在線測試aspdotnetfiddle中的簡單示例。
使用單個按鈕和標簽控件創建示例程序,單擊按鈕,觸發按鈕的單擊事件,在該分配標簽文本值。
在我的情況下,它沒有觸發事件,因為我將按鈕附加到母版頁的主體, <form>
標簽位於<body>
標簽中
我已經通過將按鈕附加到<form>
標簽來解決了這個問題
$('body').append($(".ButtonsDiv"));
$('#form1').append($(".ButtonsDiv"));
如果您有兩個按鈕和兩個驗證摘要,則必須為每個驗證摘要,文本框和按鈕添加ValidationGroup = "Group2"
。
對於另一個添加: ValidationGroup="Group1"
,它應該工作。
如果問題是驗證觸發並且您的按鈕不應該觸發驗證,請考慮將CausesValidation =“false”添加到按鈕的屬性中。
Javascript可能會在您的頁面上靜默失敗,導致處理被放棄,從而阻止點擊事件被觸發。 如果我懷疑這種情況發生了,我會在調試之前立即將其粘貼到腳本標記下:
window.onerror = function (message, filename, linenumber) {
alert("JS error: " + message + " on line " + linenumber + " for " + filename);
}
刪除生產代碼。
檢查並嘗試刪除其他輸入元素上的“required”屬性。 它適用於我的情況..我花了很長時間才發現它。
在這里閱讀這個問題..同樣的問題asp.net按鈕OnClick事件沒有解雇
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.