2011-07-17 16 views
5

およびデバッグするときにエラーが出る氏は述べています:CS1061:私は私のページにLinkBut​​tonコントロールを追加したコンパイルエラーメッセージ

CS1061:「ASP.uilayer_test_aspxは」 '「lbl_Click」となし拡張メソッドの定義が含まれていませんがlbl_Click見つけることができASP.uilayer_test_aspx 『」は、タイプの最初の引数を受け入れる』(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

.aspxのは含まれています

<asp:LinkButton ID="lbl" runat="server" OnClick="lbl_Click">LinkButton</asp:LinkButton> 
をdiretive 0

ページ:

<%@ Page Language="C#" MasterPageFile="~/UILayer/UI.Master" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebApp.UILayer.Test" Title="Untitled Page" %> 

.csファイルが含まれています。あなたがprivateとしてクリックハンドラlbl_Click修飾子を設定しているので

namespace WebApp.UILayer 
{ 
    public partial class Test : System.Web.UI.Page 
    { 
     private void lbl_Click(object sender, EventArgs e) 
     { 
     } 
    } 
} 

答えて

9

ようにする必要があります。

これは、ASP.uilayer_test_aspxと呼ばれる独自のクラスがaspxソースから作成されているためです。このクラスは、Testクラスのを継承しています。プライベートメソッドは子クラスには表示されないため、保護する必要があります。

+0

これは命を救った人です^^。もしあなたが "internal"を持っていても、これは起こります...これは、バグとみなされ、正常にコンパイルされますが、公開されたバージョンではエラーが発生します。 – VSP

1

、あなたはProtected OR Publicとしてそれを設定する必要があります。 aspxファイルはcsクラスを継承しているため、プライベートメンバーにアクセスすることはできません。

この

​​

はあなたがlbl_Click保護されていないプライベートをしなければならない。..

protected void lbl_Click(object sender, EventArgs e) 
関連する問題