在重命名后,我有几次使用不同的ASPX页面遇到同样的问题,我很惊讶我在stackoverflow上找不到其他有同样问题的人。
当我运行ASP.NET C#项目时,调试器会给我一条这样的消息。
Error 5 The name 'txtTitle' does not exist in the current context
似乎aspx和aspx.cs文件不再绑定。我找到的唯一解决方法是重新创建页面并复制/粘贴我的代码。
任何想法如何解决这个问题而不重新创建整个事情?
由于
答案 0 :(得分:6)
代码文件包含ASPX标头声明中引用的部分类。 ASPX标题中的文件名和实际类都必须匹配才能生效。
<%@ Page Title="TestPage" Language="C#" AutoEventWireup="true" CodeFile="TestPage.aspx.cs" Inherits="TestPage" %>
在您的情况下,类名可能不匹配。检查codebehind .cs文件中的类名是否与继承后的名称匹配。
ASP.NET中使用的部分类的概念详细here。
答案 1 :(得分:1)
答案 2 :(得分:1)
这也可能是whatever.aspx.designer.vb
文件依赖于whatever.aspx.vb
而不是whatever.aspx
造成的。如果是这种情况,则在Visual Studio中展开文件组时,它应在文件树中显示不正确。要修复它,只需从项目中排除受影响的文件,然后重新包含它们 - 应该重新生成错误的项目配置文件,它现在应该可以正常工作。
(C#的相同理论。)
答案 3 :(得分:0)
我遇到了同样的问题,并注意到有时(但并非总是如此),当更改类时,CodeFile
页面中的.aspx
设置不会更新。如果这是您遇到的同样问题,您可以手动更改它:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyClass.aspx.cs" Inherits="MyClass" %>
^^^^^^^