【问题标题】:Variable on ASPX page is inaccessible due to its protection level from code behindASPX 页面上的变量由于其对后面代码的保护级别而无法访问
【发布时间】:2018-01-25 11:20:43
【问题描述】:

我正在尝试修复一个旧项目并遇到错误:

ProductionSchedule.aspx.vb(72,0):错误 BC30451:未声明“PanelStatusBL”。由于其保护级别,它可能无法访问。

现在在 ASPX 页面上很简单:

<%@ Page Title="Production Schedule" Language="VB" MasterPageFile="~/Site.master"   
AutoEventWireup="false" CodeFile="ProductionSchedule.aspx.vb" Inherits="ProductionSchedule" %>
<asp:Panel ID="PanelStatusBL" runat ="server" ClientIDMode="AutoID">                          
                            <div style="width:100%; text-align:left">  
                                <h5><asp:Label ID="LabelBatchLineHeading"  
 runat="server" Text="Status - Batch Line 1"></asp:Label></h5>                                    
</div>  

可能是什么问题?

此页面上还有其他变量(控件)存在相同问题。

【问题讨论】:

  • 这些类型的错误是由于声明了私有类。请检查后面的代码。 (如果可能,请分享)。
  • 我在后面的代码中收到此错误,并且控件位于 aspx 页面上。后面的代码难以到达 aspx(视图)
  • 从代码隐藏文件共享代码。最好发布完整的代码。

标签: asp.net .net vb.net


【解决方案1】:

就是整个 .aspx 代码?如果没有,可能是您在 UpdatePanel 或类似的东西中拥有控制权?

在这种情况下,我会将面板包裹在

<div id="myDiv" runat="server"> ... </div>

并尝试获得这样的面板:

myDiv.FindControl("PanelStatusBL")

如果这是我告诉你清理解决方案并重新构建它的全部相关 .aspx 代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-26
    • 2011-09-01
    • 1970-01-01
    • 2011-04-02
    • 2011-02-07
    • 2012-01-25
    相关资源
    最近更新 更多