0

我在使用 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";
        }
    }
}

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

对于如何解决此问题,我将不胜感激。

谢谢你的时间!

4

2 回答 2

3

在您的Page指令中尝试更正Inherits属性:

Inherits="WebProj.Permissions"

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

于 2012-09-17T10:11:34.413 回答
1

你必须使用

    Inherits="WebProj.Permissions" 

原因,你有命名空间 WebProj类 Permissions。所以继承必须使用相同的。

于 2012-09-17T10:45:50.030 回答