8

我是第一次使用 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

以下是我遇到的一些错误:

截屏

你认为这可能是什么原因?

4

1 回答 1

4

如果您的代码是逐字复制的,那么逻辑块中的类名拼写错误,并且与设计器文件中的名称不匹配。这会导致它被解释为两个单独的类,从而导致错误。一个文件中的代码无法引用另一个文件中定义的对象。

修复逻辑块中的类名以匹配设计器块,错误应该会消失。

编辑:我注意到它在标记文件的第一行也拼错了。一定要在那里修复类名。

于 2012-09-18T19:38:38.133 回答