我的某个网页表单存在问题。
这就是它的起源。 我需要彻底修改页面,我重命名了旧页面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
当我在不同的文件夹中创建新页面时,它不会发生。
答案 0 :(得分:1)
当您重命名旧的default.aspx页面时,您还需要重命名其类。通常,当您重命名aspx页面时,它不会自动重命名类名。所以你需要手动完成。
因此对于default.aspx页面,
Inherits="Magazine_Default_Old"
对于default.aspx.vb页面,
Partial Class Magazine_Default_Old
这将解决问题。