簡體   English   中英

asp.net按鈕將不會觸發其OnClick事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM