Codebehind文件无法识别aspx控件

时间:2012-10-18 09:11:05

标签: c# asp.net visual-studio-2010 code-behind

我获得了一个用aspx / c#编写的webproject。当我将它加载到Visual Studio 2010中时,我收到很多错误,告诉我代码隐藏文件中的某些控件在当前上下文中不存在。

我检查了常见的陷阱,例如错误的代码隐藏文件名,缺少runat - 属性,重新启动VS,重新加载项目,但没有解决错误。

我还能做些什么来检查问题所在?

5 个答案:

答案 0 :(得分:3)

尝试将代码隐藏更改为CodeFile =“代码定位”,然后它可能会起作用。

答案 1 :(得分:2)

继承标记文件的类,文件后面的代码应该匹配,并且还要确保这些控件是否不是第三方,可能需要引用它们的dll或者其他东西。如果这些控件是用户控件(ascx)控件,请确保它们在顶部的寄存器行中使用正确的标记名。

答案 2 :(得分:1)

向@ 03Usr致敬以下链接带来了答案:

ASP.NET controls cannot be referenced in code-behind in Visual Studio 2008

删除所有设计器文件并转换项目als web应用程序使设计器文件恢复,有效地使控件再次可用。

答案 3 :(得分:1)

这是一个非常烦人的黑客,但如果你从aspx页面删除控件然后保存页面,然后将控件粘贴回页面并再次保存代码,然后似乎识别控件。每当我更改ID这样的属性时,我都会遇到这个问题。

答案 4 :(得分:1)

在我的情况下,aspx文件位于名为XYZ的文件夹中,类名称为ABC。因此,ASP将C#文件的类名称命名为XYZ_ABC。 将文件重命名为ABC后,错误已修复

希望有帮助!