2016-03-03 85 views
2

我的网页表单页面出现问题。*未被声明。由于其保护级别,可能无法访问

这就是它的开始。 我需要彻底改造一个页面,我将旧页面重命名为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

页decalaration

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

Label控件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创建一个新文件,该文件具有.aspx中的所有正确的页面指令以及.aspx.vb中的正确的类声明,并且它仍然可以。

还有lblError.Text

当我创建在不同的文件夹一个新的页面下,没有红色波浪线,它不会发生。

回答

1

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

所以对于Default.aspx页面,

Inherits="Magazine_Default_Old" 

而对于default.aspx.vb页,

Partial Class Magazine_Default_Old 

这将解决问题。

+0

对不起,我忘了提及,我重新命名和复制我需要的东西后,我删除了旧文件 – Goodsoup

+0

如果是这样,只需重新启动Visual Studio,并再次打开项目。不应该有任何问题。 –

+0

在继承magazine_default的项目中随机出现了另一个文件,所以我想原始文件已被删除了一个不同的类名 – Goodsoup

相关问题