vb.net error: inaccessible due to its protection level
I am working for 1st time with vb.net code, but I have 5 years experience with C#. From the previous developer I was told that the code which is on the server runs fine without any errors, but as soon as I opened the website folder (the website doesn't have solution file), I tried to build the site and I got tons of errors saying:
'labelControl' is not declared. It may be inaccessible due to its protection level.
That's happening for all the controls on two of the pages I opened so far. Honestly I am afraid to open more pages :).
Here are parts of the markup, logic and designer code for one of the files:
Markup:
<%@ 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>
Logic:
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
Designer:
'------------------------------------------------------------------------------
' <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
Here are some of the errors I am getting:
Please let me know what you think can be the reason. I look forward to hear from you soon. Thanks, Laziale
If your code is copied verbatim, then the class name in the Logic block is misspelled and doesn't match the name in the designer file. This causes it to interpreted as two separate classes, which causes the errors. The code in the one file is not able to reference objects defined in the other file.
Fix the class name in the logic block to match the designer block and the errors should go away.
Edit : I noticed it was misspelled in the first line of the markup file as well. Be sure to fix the class name there too.
上一篇: CSS:如何让孩子适应父母的宽度