2016-03-03 35 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

相關問題