CS1061:编译错误消息

本文关键字:消息 错误 编译 CS1061 | 更新日期: 2023-09-27 18:02:24

我已经添加了一个链接按钮到我的页面,得到错误时调试说:

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)
        {
        } 
    }
}

CS1061:编译错误消息

您必须使lbl_Click受保护而不是私有

这样做的原因是一个自己的类,称为ASP.uilayer_test_aspx是从aspx源创建的。这个类继承了Test类的。私有方法对子类是不可见的,所以必须加以保护。

由于您已将单击处理程序lbl_Click修饰符设置为private,因此必须将其设置为ProtectedPublic。由于aspx文件继承了cs类,所以private成员不能被访问。

 private void lbl_Click(object sender, EventArgs e)

应该是…

 protected void lbl_Click(object sender, EventArgs e)