日期:2014-05-18  浏览次数:20348 次

当前上下文中不存在名称***
出现了一个很弱智的问题

在设计页面用了下面的LABEL
<asp:Label ID="lbldesc" runat="server" CssClass="fontcon"></asp:Label>
然后在代码中给它赋值
lbldesc.Text =“明天会更好";
运行以后,出现下面的错误
错误3 当前上下文中不存在名称"lbldesc"
今天出现了好几次这样的错误,不知道是什么原因。

麻烦大家指点一下,由于网速关系,可能回帖不是很及时,希望大家谅解



------解决方案--------------------
你这个label 是不是在某个控件中放着呢 ???
C# code


if(label  在某个控件中放着呢 )
{
那你就要先找到  那个控件在找个控件。。。
}
else
{
你的这句话没有问题,我就无能为力了。。。呵呵 
}

------解决方案--------------------
关掉页面,再重新打开
------解决方案--------------------
删除掉重新加一个。
------解决方案--------------------
在设计页面将标签的属性中将 ID 改成 lbldesc 。
------解决方案--------------------
这个可能是.NET的一个小BUG吧
我也遇到过这样的问题,我的解决办法就是在页面文件新增控件后,右击页面选择“查看代码”进入.CS进行代码编辑
------解决方案--------------------
你是2003还是2005?
------解决方案--------------------
把代码贴出来啊 写的位置可能有问题
------解决方案--------------------
..............重新拽一个试试?
------解决方案--------------------
<asp:Label ID="lbldesc" runat="server" > </asp:Label> 

把这句放上去 试试

------解决方案--------------------
你重新拉一个控件 将id的名字给改成lbldesc 如果在cs中用this.lbldesc.Text 试一下
------解决方案--------------------
这样吧,你先把后台有关lbldesc的代码注释掉(如果是2005,如果是2003的话就把声名一起删除)

然后再把页面的代码删除,先加页面,然后切换前台的设计视图及HTML视图,再去后台把代码取消注释,这样应该是OK的.

原因应该是IDE并没有捕捉到前台新增或变化的标签,后台代码无法识别其存在,就会说其未实例化/定义.