*未申报。由于其保护级别,它可能无法访问

时间:2016-03-03 11:10:42

标签: asp.net visual-studio

我的某个网页表单存在问题。

这就是它的起源。 我需要彻底修改页面,我重命名了旧页面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

Page decalaration

<%@ 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不会构建,因为它坚持存在错误。

我认为它可能与我的视觉工作室有关,比如缓存或其他东西,所以我修改了与项目相关的任何临时文件。

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

项目本身就是一个网站项目,因此我没有设计师文件可以更改控件的访问修饰符。

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

lblError.Text

下也没有红色波浪线

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

1 个答案:

答案 0 :(得分:1)

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

因此对于default.aspx页面,

Inherits="Magazine_Default_Old"

对于default.aspx.vb页面,

Partial Class Magazine_Default_Old

这将解决问题。

相关问题