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 に答える