CS1061:编译错误消息

时间:2011-07-17 12:10:05

标签: c# asp.net

我在页面中添加了一个链接按钮,并在调试时显示错误:

  

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>

页面指示:

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

.cs包含:

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

2 个答案:

答案 0 :(得分:9)

您必须使lbl_Click受保护而非私人。

这样做的原因是从aspx源创建了一个名为ASP.uilayer_test_aspx的自己的类。此类从您的Test类继承。私有方法对于子类是不可见的,因此必须对其进行保护。

答案 1 :(得分:1)

由于您已将点击处理程序lbl_Click修饰符设置为private,因此您必须将其设置为ProtectedPublic。由于aspx文件继承了cs类,因此无法访问私有成员。

 private void lbl_Click(object sender, EventArgs e)

应该像..

 protected void lbl_Click(object sender, EventArgs e)
相关问题