Asp.net
vb.net 錯誤:由於其保護級別而無法訪問
我是第一次使用 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以下是我遇到的一些錯誤:
你認為這可能是什麼原因?
如果您的程式碼是逐字複製的,那麼邏輯塊中的類名拼寫錯誤,並且與設計器文件中的名稱不匹配。這會導致它被解釋為兩個單獨的類,從而導致錯誤。一個文件中的程式碼無法引用另一個文件中定義的對象。
修復邏輯塊中的類名以匹配設計器塊,錯誤應該會消失。
編輯:我注意到它在標記文件的第一行也拼錯了。一定要在那裡修復類名。
