*没有声明。 由于其保护级别,它可能无法访问

我的一个网页表单页面出现问题。

这是如何开始的。 我需要彻底改造一个页面,我重命名了旧页面default.aspx.vb.old和default.aspx.old,并创建了全新的default.aspx和default.aspx.vb页面

每次我向aspx页面添加一个控件并尝试在后面的代码中引用它时,我得到的错误'lblError' is not declared. It may be inaccessible due to its protection level 'lblError' is not declared. It may be inaccessible due to its protection level

页面decalration

<%@ Page Title="" Language="VB" MasterPageFile="~/_Masters/Principle.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Magazine_Default" EnableViewState="false" %>

Default.aspx中的标签控件

<asp:Label ID="lblError" runat="server" CssClass="cError" Visible="false" />

Default.aspx.vb代码隐藏

Partial Class Magazine_Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    lblError.Text = "There was a problem retrieving the magazines, please try again later"
    End Sub
End Class

该网页的作品,但Visual Studio不会建立,因为它坚持有错误。

我认为这可能是我的视觉工作室,如缓存或什么的东西,所以我nuked任何有关该项目的临时文件。

今天早上,一位同事做了一次git pull,遇到了同样的问题,出现了错误,拒绝构建,但页面正常工作。

该项目本身就是一个网站项目,所以没有设计器文件可以在其中更改控件的访问修饰符。

我也尝试使用Visual Studio通过add->web form提供的web窗体脚手架创建一个新文件,该窗体在.aspx中具有所有正确的页面指令,在.aspx.vb中具有正确的类声明,并且它仍然可以。

lblError.Text下也没有红色的波浪线

当我在其他文件夹中创建新页面时,它不会发生。


当您重命名旧的default.aspx页面时,您需要重命名其类。 通常,当您重命名aspx页面时,它不会自动重命名类名称。 所以你需要手动完成。

所以对于default.aspx页面,

Inherits="Magazine_Default_Old"

而对于default.aspx.vb页面,

Partial Class Magazine_Default_Old

这将解决问题。

链接地址: http://www.djcxy.com/p/65217.html

上一篇: * is not declared. It may be inaccessible due to its protection level

下一篇: Control is not declared. It may be inaccessible due to its protection level