0

我认为这个解决起来相当简单,因为我记得以前遇到过这个问题,但不记得我做了什么......

我决定取消一个特定的 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");
    }
4

3 回答 3

0

您可以尝试以下几件事。没有保证,但也许是朝着正确的方向推进:)

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

希望有帮助。

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

于 2012-08-28T12:49:10.860 回答
0

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

if (!Page.IsPostBack)
于 2012-08-28T12:54:31.363 回答
0

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

您必须复制此代码

Button.Click += .....

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

如果您进行复制粘贴,请验证您的 aspx 代码文件

于 2012-08-28T12:46:46.123 回答