我觉得这个问题很容易解决,因为我之前记得这个问题,但是不记得我对它做了什么......
我决定取消一个特定的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");
}
答案 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)