Asp.net

vb.net 錯誤:由於其保護級別而無法訪問

  • January 29, 2020

我是第一次使用 vb.net 程式碼,但我有 5 年的 C# 經驗。

從以前的開發人員那裡,我被告知伺服器上的程式碼執行良好,沒有任何錯誤,但是當我打開網站文件夾(網站沒有解決方案文件)時,我嘗試建構網站,我得到了大量錯誤說:

’labelControl’ 未聲明。由於其保護級別,它可能無法訪問。

到目前為止,我打開的兩個頁面上的所有控制項都發生了這種情況。

以下是其中一個文件的部分標記、邏輯和設計器程式碼:

標記:

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="OverriedCalcValues.aspx.vb" Inherits="Homevesters.Overried_Calc_Values" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">       
   </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <table  cellpadding="5" border="1">                            
        <tr>
                 <td class="style15"><asp:label ID="lblDoorJam1" runat="server" Font-Bold="true" Text="Door Jamb"/><br />Cost per door jamb replacement</td>
                 <td class="style38"><asp:label ID="lblFactorType1" runat="server"  Text="$/Each"/></td>
                 <td class="style41"><asp:label ID="lblDoorJam" runat="server"  Text=""/></td>
                 <td class="style32"><asp:CheckBox ID="ckDoorJam" runat="server"/></td>
                 <td class="style35">$<asp:TextBox ID="txtDoorJam" runat="server"  Text="" Width="80px" /></td>
        </tr>

        <tr>
                 <td class="style16"><asp:label ID="lblExtDoor1" runat="server" Font-Bold="true"  Text="Exterior Door"/><br />Cost per exterior door replacement</td>
                 <td class="style39"><asp:label ID="lblFactorType2" runat="server"  Text="$/Each"/></td>
                 <td class="style42"><asp:label ID="lblExtDoor" runat="server"  Text=""/></td>
                 <td class="style33"><asp:CheckBox ID="ckExtDoor" runat="server"/></td>
                 <td class="style36">$<asp:TextBox ID="txtExtDoor" runat="server"  Text="" Width="80px" /></td>
        </tr>

        <tr>
                 <td class="style15"><asp:label ID="lblGarageSingle1" runat="server" Font-Bold="true" Text="Garage (1 Single)"/><br />Cost to replace one single garage door</td>
                 <td class="style38"><asp:label ID="lblFactorType3" runat="server"  Text="$/Each"/></td>
                 <td class="style41"><asp:label ID="lblGarageSingle" runat="server"  Text=""/></td>
                 <td class="style32"><asp:CheckBox ID="ckGarageSingle" runat="server"/></td>
                 <td class="style35">$<asp:TextBox ID="txtGarageSingle" runat="server"  Text="" Width="80px" /></td>
        </tr>

        <tr>
                 <td class="style16"><asp:label ID="lblGarageDouble1" runat="server" Font-Bold="true"  Text="Garage (1 Double)"/><br />Cost to replace one double garage door</td>
                 <td class="style39"><asp:label ID="lblFactorType4" runat="server"  Text="$/Each"/></td>
                 <td class="style42"><asp:label ID="lblGarageDouble" runat="server"  Text=""/></td>
                 <td class="style33"><asp:CheckBox ID="ckGarageDouble" runat="server"/></td>
                 <td class="style36">$<asp:TextBox ID="txtGarageDouble" runat="server"  Text="" Width="80px" /></td>
        </tr>


        <tr>
                 <td class="style15"><asp:label ID="Label1" runat="server" Font-Bold="true" Text="Interior Door"/><br />Cost per interior door replacement</td>
                 <td class="style38"><asp:label ID="Label2" runat="server"  Text="$/Each"/></td>
                 <td class="style41"><asp:label ID="lblInteriorDoor" runat="server"  Text=""/></td>
                 <td class="style32"><asp:CheckBox ID="ckInteriorDoor" runat="server"/></td>
                 <td class="style35">$<asp:TextBox ID="txtInteriorDoor" runat="server"  Text="" Width="80px" /></td>
        </tr>

        <tr>
                 <td class="style16"><asp:label ID="Label4" runat="server" Font-Bold="true"  Text="Patio Door"/><br />Cost to replace one patio door</td>
                 <td class="style39"><asp:label ID="Label5" runat="server"  Text="$/Each"/></td>
                 <td class="style42"><asp:label ID="lblPatioDoor" runat="server"  Text=""/></td>
                 <td class="style33"><asp:CheckBox ID="ckPatioDoor" runat="server"/></td>
                 <td class="style36">$<asp:TextBox ID="txtPatioDoor" runat="server"  Text="" Width="80px" /></td>
        </tr>

        <tr>
                 <td class="style15"><asp:label ID="Label3" runat="server" Font-Bold="true" Text="Patio Glass"/><br />Cost per patio glass replacement</td>
                 <td class="style38"><asp:label ID="Label6" runat="server"  Text="$/Each"/></td>
                 <td class="style41"><asp:label ID="lblPatioGlass" runat="server"  Text=""/></td>
                 <td class="style32"><asp:CheckBox ID="ckPatioGlass" runat="server"/></td>
                 <td class="style35">$<asp:TextBox ID="txtPatioGlass" runat="server"  Text="" Width="80px" /></td>
        </tr>



                <tr>        
                 <td class="style16"><asp:label ID="Label7" runat="server" Font-Bold="true" Text="Dishwasher"/><br />Cost to replace one dishwasher</td>
                 <td class="style39"><asp:label ID="Label8" runat="server"  Text="$/Each"/></td>
                 <td class="style42"><asp:label ID="lblDishWasher" runat="server"  Text=""/></td>
                 <td class="style33"><asp:CheckBox ID="ckDishwasher" runat="server"/></td>
                 <td class="style36">$<asp:TextBox ID="txtDishwasher" runat="server"  Text="" Width="80px" /></td>
        </tr>                 
</table>                
</asp:Content>

邏輯:

Imports Homevesters

Public Class Overried_Calc_Values
   Inherits System.Web.UI.Page

   Dim clsValueOrganization As New clsCalcValues
   Dim clsValueDefaults As New clsCalcValues


   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

       If IsUserLoggedIn(Me) = False Then
           Response.Redirect("~/Account/Login.aspx")
           Exit Sub
       End If

       If IsPostBack = False Then

           clsValueOrganization.Load("", False, Session("OrgID"))

           clsValueDefaults.Load("", False, "DEFAULT")

           ' c is dollar format with dollar symbol
           lblDoorJam.Text = clsValueDefaults.dDoorJamb.ToString("c")
           lblExtDoor.Text = clsValueDefaults.dExtDoor.ToString("c")
           lblGarageSingle.Text = clsValueDefaults.dGarageDoorSgl.ToString("c")
           lblGarageDouble.Text = clsValueDefaults.dGarageDoorDbl.ToString("c")
           lblInteriorDoor.Text = clsValueDefaults.dIntDoor.ToString("c")
           lblPatioDoor.Text = clsValueDefaults.dPatioDoor.ToString("c")
           lblPatioGlass.Text = clsValueDefaults.dPatioGlass.ToString("c")
           lblDishWasher.Text = clsValueDefaults.dDishwasher.ToString("c")
           lblFans.Text = clsValueDefaults.dFans.ToString("c")
           lblLightFixtures.Text = clsValueDefaults.dLightFixture.ToString("c")
           lblServicePanel.Text = clsValueDefaults.dServicePanel.ToString("c")
           lblRange.Text = clsValueDefaults.dRange.ToString("c")
           lblRefrigerator.Text = clsValueDefaults.dRefrigerator.ToString("c")
           lblStoveTop.Text = clsValueDefaults.dStoveTop.ToString("c")
           lblVentHood.Text = clsValueDefaults.dVentHoods.ToString("c")
           lblElectricalWiring.Text = clsValueDefaults.dWiringReplace.ToString("c")
           lblFloorCovering.Text = clsValueDefaults.dFloorCover.ToString("c")
           lblTileFloor.Text = clsValueDefaults.dTileFloor.ToString("c")
           lblOldHouse4150.Text = clsValueDefaults.dOldHouse1.ToString("c")
           lblOldHouse2140.Text = clsValueDefaults.dOldHouse2.ToString("c")
           lblOldHouse0020.Text = clsValueDefaults.dOldHouse3.ToString("c")
           lblOldHouse1900.Text = clsValueDefaults.dOldHouse4.ToString("c")

           ckMedWood.Checked = Not (clsValueOrganization.dMdWoodWindow = clsValueDefaults.dMdWoodWindow)
           ckSmallMet.Checked = Not (clsValueOrganization.dSmMetalWindow = clsValueDefaults.dSmMetalWindow)
           ckSmallPane.Checked = Not (clsValueOrganization.dSmGlassPanes = clsValueDefaults.dSmGlassPanes)
           ckSmallWood.Checked = Not (clsValueOrganization.dSmWoodWindow = clsValueDefaults.dSmWoodWindow)



       End If



   End Sub



End Class

設計師:

'------------------------------------------------------------------------------
' <auto-generated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated. 
' </auto-generated>
'------------------------------------------------------------------------------

Option Strict On
Option Explicit On


Partial Public Class Override_Calc_Values

   '''<summary>
   '''lblDoorJam1 control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblDoorJam1 As Global.System.Web.UI.WebControls.Label

   '''<summary>
   '''lblFactorType1 control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblFactorType1 As Global.System.Web.UI.WebControls.Label

   '''<summary>
   '''lblDoorJam control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblDoorJam As Global.System.Web.UI.WebControls.Label

   '''<summary>
   '''ckDoorJam control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents ckDoorJam As Global.System.Web.UI.WebControls.CheckBox

   '''<summary>
   '''txtDoorJam control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents txtDoorJam As Global.System.Web.UI.WebControls.TextBox

   '''<summary>
   '''lblExtDoor1 control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblExtDoor1 As Global.System.Web.UI.WebControls.Label

   '''<summary>
   '''lblFactorType2 control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblFactorType2 As Global.System.Web.UI.WebControls.Label

   '''<summary>
   '''lblExtDoor control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblExtDoor As Global.System.Web.UI.WebControls.Label

   '''<summary>
   '''ckExtDoor control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents ckExtDoor As Global.System.Web.UI.WebControls.CheckBox

   '''<summary>
   '''txtExtDoor control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents txtExtDoor As Global.System.Web.UI.WebControls.TextBox

   '''<summary>
   '''lblGarageSingle1 control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblGarageSingle1 As Global.System.Web.UI.WebControls.Label

   '''<summary>
   '''lblFactorType3 control.
   '''</summary>
   '''<remarks>
   '''Auto-generated field.
   '''To modify move field declaration from designer file to code-behind file.
   '''</remarks>
   Protected WithEvents lblFactorType3 As Global.System.Web.UI.WebControls.Label

End Class

以下是我遇到的一些錯誤:

截屏

你認為這可能是什麼原因?

如果您的程式碼是逐字複製的,那麼邏輯塊中的類名拼寫錯誤,並且與設計器文件中的名稱不匹配。這會導致它被解釋為兩個單獨的類,從而導致錯誤。一個文件中的程式碼無法引用另一個文件中定義的對象。

修復邏輯塊中的類名以匹配設計器塊,錯誤應該會消失。

編輯:我注意到它在標記文件的第一行也拼錯了。一定要在那裡修復類名。

引用自:https://stackoverflow.com/questions/12483579