asp.net - ASP.Net页面在Visual Studio中使用 “Build Page”构

使用Visual Studio 2010,我向ASP.Net页面添加了一个表单,该表单已经是我的项目的一部分。称为myPage.aspx。我实际上是从另一个应用程序的工作页面复制和粘贴表单。因此,首先我将.aspx代码粘贴到myPage.aspx文件中,然后将C#代码粘贴到myPage.aspx.cs文件中。我没有复制myPage.aspx文件中的page指令,也没有复制myPage.aspx.cs文件中的任何类声明代码。我仅将一张表粘贴到myPage.aspx的主体中,并将​​一些处理代码提交到myPage.aspx.cs中。

当我尝试构建网站时,每个控件出现错误,提示“名称“whateverControl”在当前上下文中不存在”。这对我来说毫无意义,因为Intellisense可以正常工作,发现控件还不错。我仔细检查了页面的CodeFile和Inherits属性,它们都是正确的。

此外,如果使用“构建页面”命令,则页面构建成功。只有当我使用“构建网站”时,我才获得一长串“不存在”错误。 “重建网站”没有帮助。我什至关闭了Visual Studio并重新打开它,这没有什么区别。我最终找到了问题,所以我在这里回答自己的问题。

最佳答案

事实证明,myPage.aspx和myPage.aspx.cs完全可以。问题是,在以前的某个时间,有人将我正在处理的.aspx页(而不是.aspx.cs)复制到了另外两个.aspx页上,他们这样做时还复制了CodeFile和Inherits属性。因此,这两个页面都具有与我正在处理的页面完全相同的CodeFile和Inherits设置。这意味着三个页面的Page指令中具有这些完全相同的设置:

CodeFile =“myPage.aspx.cs” Inherits =“myPage”

显然,这是编译器所允许的,并且只要.aspx.cs文件中没有代码正在寻找仅存在于页面之一中的控件,它就可以工作。

我从其他两个复制的页面中删除了这些属性,然后一切都成功编译了。

关于asp.net - ASP.Net页面在Visual Studio中使用 “Build Page”构建良好,但使用 “does not exist in the current context”给出 “Build Web Site”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14346367/

相关文章:

visual-studio-2010 - 使用Microsoft Visual Studio 201

c# - 编译器错误1 : constructor contains more than 0 arg

c++ - GTKmm Hello World 编译错误

c++ - 生成时CMake错误。项目使用Boost库

android - 我开始 Activity 后,应用程序即被终止

java - issueCommand(java.lang.String,int) 在 com.su

gcc - 在MinGw下构建完整的gcc

c++ - 使用G++的模板的编译错误,使用llvm编译正常

compiler-errors - 64位libuuid不兼容,编译时找不到32位libuuid

c++ - Qt : Error while compiling Qt 5.0.1 on Windo