[英]asp.net buttons wont fire their OnClick events
我認為這個問題很容易解決,因為我記得以前遇到過這個問題,但不記得我對此做了什么...
我決定取消一個特定的asp.net頁面,並將其某些控件合並到另一個現有頁面(幾個文本框和2個按鈕)中,將其復制並粘貼到其上並在其后添加代碼。
由於執行此操作后,修改后的頁面上的所有按鈕均未觸發其OnClick事件,因此我嘗試添加一個新按鈕,但也不會觸發。
這些按鈕的實際代碼很簡單-保存記錄,response.redirect之類的東西。
有任何想法嗎?
謝謝
按鈕標記
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Save"
Width="91px" />
代碼隱藏
protected void Button1_Click(object sender, EventArgs e)
{
helper hl = new helper();
hl.UpdateComplaint(txtCaseNo.Text, Forename.Text, Surname.Text, txtActionProgress.Text,
Response.Redirect("Complaint.aspx");
}
因為您在特別是OnClick事件背后的代碼中定義了委托
您必須復制此代碼
Button.Click += .....
您可以在aspx視圖中或在后面的代碼中關聯此委托,因為您是在后面的代碼中創建的,因此您無需復制
如果進行復制粘貼,請驗證aspx的CodeFile
您可以嘗試以下幾項。 沒有保證,但可能會朝正確的方向發展:)
打開Visual Studio和有問題的ASP.NET頁。 在設計器中,單擊控件,然后轉到“屬性”框,然后查找OnClick事件。 如果為空白,請在框中單擊,然后從可用的下拉列表中選擇要附加的事件處理程序。 如果列表中沒有事件,則只需雙擊以查看Visual Studio是否將為您創建默認事件處理程序,然后將先前onClick處理程序中的代碼粘貼到該新方法中。
希望能有所幫助。
以后的編輯評論指出,從其他ASP.NET頁完全復制和粘貼代碼后,可能已創建了部分類聲明,該聲明與新頁面上標記的CodeFile或Inherits指令不匹配,這可能會導致各種奇怪的行為。
OnClick="Button1_Click"
區分大小寫? 您是否嘗試過在事件處理程序中設置斷點以查看是否觸發? 可以是Page_Load
問題嗎? 你做事沒有
if (!Page.IsPostBack)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.