asp:ImageButton找不到OnClick处理程序

时间:2017-06-21 20:06:02

标签: asp.net visual-studio-2013 imagebutton

我正在做一个我只是加载现有代码的辅助项目。这些东西总是需要一些引用和nuGet包的跳汰,我已经解决了大部分这些问题,但有一个困扰我的是我还没有整理出来。

这是一个标准的网络表单项目,我收到错误:"' new_client_aspx'不包含' imgEdit_Click'的定义没有扩展方法' imgEdit_Click'接受类型' new_client_aspx'的第一个参数。可以找到(你错过了使用指令或汇编引用吗?)"

加价中的声明是:

<asp:ImageButton ID="imgEdit" ImageUrl="~/images/file_edit.png"
                        CommandName="Edit" runat="server" Width="30px" OnClick="imgEdit_Click" />

代码隐藏处理程序目前是裸的,但是:

protected void imgEdit_Click(object sender, ImageClickEventArgs e)
    {
        //Code here for editing.
    }

我已经在VS2013 Premier和VS2017社区版中打开了这个项目,并且都抛出了同样的错误。有什么想法解决这个问题?提前谢谢。

编辑:我刚注意到这个帐户有我以前的工作电子邮件。显然改变电子邮件是一个有点迷宫般的过程。无论如何,如果你不喜欢的话,不要给我发电子邮件

1 个答案:

答案 0 :(得分:0)

您所描述的问题可能是由代码中缺少的几个不同内容引起的:

  1. 当页面的代码隐藏文件中没有定义方法或者方法被定义为私有(显式或不使用任何访问者)时,会出现。但是,根据描述,你已经有了这个方法,所以情况并非如此。
  2. 当代码隐藏类未正确绑定到标记( * .aspx )文件时,也会出现相同的错误。您的标记文件应该以与此类似的行开头:

    <%@ Page Title="My page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="NewClient.aspx.cs" Inherits="WebApplication.NewClient" %>

    查看Inherits属性。确保它正确指向您的代码隐藏类(在我的示例中,NewClient是类名,WebApplication是它所在的命名空间。)

  3. .... aspx.designer.cs 文件可能已损坏。尝试注释掉处理程序,将其从标记中删除,然后让Visual Studio自行创建新的处理程序,如本答案中所述:'ASP.business_aspx' does not contain a definition for 'submitSearchClick' and no extension method 'submitSearchClick'

  4. 如果这可以解决您的问题,请告诉我。