Asp按钮找不到eventhandler

时间:2012-09-17 10:07:49

标签: c# asp.net visual-studio-2010 events web

我在使用ASP在按钮上注册事件时遇到问题。它给了我错误:

CS1061: 'ASP.permissions_aspx' does not contain a definition for 'CreateEndUserClick' and no extension method 'CreateEndUserClick' accepting a first argument of type 'ASP.permissions_aspx' could be found (are you missing a using directive or an assembly reference?)

当我在浏览器中访问该页面时,它仍然可以成功编译。基本上它找不到onclick处理程序,但我无法弄清楚原因。

这是我的asp文件Permissions.aspx:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/MainLayout.master" AutoEventWireup="True"  CodeBehind="Permissions.aspx.cs" Inherits="WebProj._Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Button ID="Button_CreateEndUser" runat="server" OnClick="CreateEndUserClick" Text="Create New End User/Group" />
</asp:Content>

我明显删除了页面中的一些非相关元素。

我的代码隐藏文件Permissions.aspx.cs:

namespace WebProj
{
    public partial class Permissions : System.Web.UI.Page
    {
        protected global::System.Web.UI.WebControls.Button Button_CreateEndUser;

        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void CreateEndUserClick(object sender, EventArgs e)
        {
            Button_CreateEndUser.Text = "Hamstertext";
        }
    }
}

我不确定为什么它无法找到该功能。可能是因为我使用内容标签将其放在主文件中吗?

我非常感谢有关如何解决这个问题的正确方向的任何帮助或要点。

谢谢你的时间!

2 个答案:

答案 0 :(得分:3)

Page指令中,尝试更正Inherits属性:

Inherits="WebProj.Permissions"

此属性应包含类后面的代码名称,在您的情况下为WebProj.Permissions(不是WebProj._Default)。请注意,此处指定的类应在CodeBehind属性(在您的情况下为Permissions.aspx.cs)中指定的文件中定义。

答案 1 :(得分:1)

您必须使用

    Inherits="WebProj.Permissions" 

原因是,您拥有命名空间WebProj 类权限。所以继承必须使用相同的。