当前位置:  开发笔记 > 编程语言 > 正文

"controlname"名称在当前上下文中不存在

如何解决《"controlname"名称在当前上下文中不存在》经验,为你挑选了4个好方法。

我有一个我正在使用的Web应用程序(带有C#的ASP.NET2.0,使用VS2005).一切都很好,突然间我得到了错误:

Error 1 The name 'Label1' does not exist in the current context

每次我在页面的代码隐藏中使用控件时,还有43个其他类型的.

这只发生在1页.就好像代码隐藏不能识别控件一样.另一件有趣的事情是intellisense没有拿起任何控件.

我试图清理解决方案文件,删除obj文件,从项目中排除文件然后重新添加它们,关闭VS并重新启动它,甚至重新启动我的计算机,但这些都没有用.



1> RobotNerd..:

我知道这是一个老问题,但我遇到了类似的问题,并希望发布我的解决方案以防其他人受益.我在学习使用时遇到了问题:

ASP.NET 3.5

C#

VS2008

我试图创建一个支持AJAX的页面(如果您不熟悉这个页面,请查看有关使用ScriptManager对象的教程).我试图通过C#代码访问页面中的HTML元素,我收到一条错误,指出HTML ID值的标识符"在当前上下文中不存在".

要解决它,我必须做以下事情:

1.在服务器上运行

要将HTML元素作为C#代码中的变量进行访问,必须在aspx文件的HTML元素标记中放置以下值:

runat="server"

Visual Studio IDE中工具箱中的某些对象在添加到页面时不会自动包含此值.

2.重新生成自动生成的C#文件:

在Solution Explorer中,在aspx文件下应该有两个文件:*.aspx.cs和*.aspx.designer.cs.设计器文件是自动生成的.

删除现有的*.aspx.designer.cs文件.确保只删除设计器文件.不要删除另一个,因为它包含页面的C#代码.

右键单击父aspx文件.在弹出菜单中,选择" 转换为Web应用程序".

现在该元素应该可以在C#代码文件中访问.


在Visual Studio 2013中,"转换为Web应用程序"选项已转移到"项目"菜单:http://stackoverflow.com/questions/19561982/visual-studio-2013-missing-convert-to-web-application
当我今天遇到它时,选项号#2是解决这个问题的完美答案!
这使用项目菜单.注意:.aspx文件的<%@ Page标签应该使用'Codebehind'而不是'Codefile'
fyi右键单击"转换为Web应用程序"选项也可用于文件夹和项目.

2> CMS..:

检查文件名后面的代码和@Page指令的Inherits属性,确保它们都匹配.



3> mosheb..:

排除引用相同代码隐藏文件的任何其他页面,例如您复制和粘贴的旧页面.



4> user735232..:

我有同样的问题.事实证明,我的项目中有"MyPage.aspx"和"MyPage.aspx的副本".

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有