asp.net按钮不会触发他们的OnClick事件

时间:2012-08-28 12:43:23

标签: c# .net visual-studio-2010

我觉得这个问题很容易解决,因为我之前记得这个问题,但是不记得我对它做了什么......

我决定取消一个特定的asp.net页面并将其一些控件合并到另一个现有页面(一些文本框和两个按钮)上,复制并粘贴它们并添加代码隐藏。

由于这样做,我修改过的页面上没有任何按钮触发他们的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");
    }

3 个答案:

答案 0 :(得分:0)

因为您在专门的OnClick事件后面的代码中定义了委托

您必须复制此代码

Button.Click += .....

您可以在aspx视图或后面的代码中关联此委托,对于您在代码中制作的情况,您不会复制

如果您进行复制粘贴,请验证您的aspx的CodeFile

答案 1 :(得分:0)

以下是您可能会尝试的一些事项。没有保证,但也许是朝着正确的方向发展:)

打开Visual Studio和相关的ASP.NET页面。在Designer中,单击该控件,然后转到“属性”框,并查找OnClick事件。如果它是空白的,请在框中单击,然后从可用的下拉列表中选择要附加的事件处理程序。如果列表中没有事件,只需双击以查看Visual Studio是否只为您创建默认事件处理程序,然后将以前的onClick处理程序中的代码粘贴到该新方法中。

希望有所帮助。

编辑以后的评论建议从不同的ASP.NET页面完全复制和粘贴代码隐藏可能会创建一个与标记的CodeFile或Inherits不匹配的部分类声明新页面上的指令,可能会导致各种奇怪的行为。

答案 2 :(得分:0)

不是OnClick="Button1_Click"区分大小写吗?您是否尝试在事件处理程序中设置断点,以查看它是否会触发?这可能是Page_Load问题吗?你做的事情没有

if (!Page.IsPostBack)