3

我在 .aspx 中有以下 HTML:

 <div ID="divText" runat="server" style="position:absolute;top:60px; left:800px; width:600px; height:100px; z-index:2;font-size:200%">
 </div>

然后在后面的代码中,IntelliSense 找到了“divText”,但我得到了标题中列出的编译错误

 string productEdition = ConfigurationManager.AppSettings["Club"];
 divText.InnerHtml = productEdition;

编译错误:

错误 3 当前上下文中不存在名称“divText”

事情是相同的 EXACT html 和代码在另一个文件中工作。我们已经尝试了一切。有任何想法吗?

4

7 回答 7

1

当您复制粘贴了 aspx 文件时,通常会发生此错误。请验证您的 aspx 是否指向正确的 cs 文件。还要检查这两个文件的名称。

其他选择是您的设计器文件有问题。如果您希望 Visual Studio 重新生成您的 Designer.cs 文件,您可以进入设计模式,进行一些小改动并保存文件。

如果这些都不起作用,请告诉我(90% 的时间这个问题是由这个引起的)。

于 2013-06-28T20:30:18.437 回答
1

如果其他建议不起作用,请删除设计器文件,右键单击标记文件并单击“转换为 Web 应用程序”。

于 2013-06-28T20:42:10.673 回答
1

将旧的 VS2005 aspx/aspx.cs 文件放入 VS2013 中的新项目时,我遇到了类似的问题。我通过创建一个新的 Web 应用程序、为每个 aspx 页面创建一个新的 Web 表单并复制 .aspx 和 .cs 的代码来解决这个问题。复制后,我必须更改 .cs 文件的第一行以使用CodeBehind 而不是 CodeFile

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="_Login" %>

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="_Login" %>

我希望这对其他人有帮助。

于 2014-01-09T00:44:56.490 回答
0

很可能控制变量没有添加到 aspx.designer.cs 文件中。您可以重新添加控件,Visual Studio 可能会为您添加它,或者您可以手动将其添加到设计器中。

protected global::System.Web.UI.HtmlControls.HtmlGenericControl divText;
于 2013-06-28T20:30:24.223 回答
0

右键单击 ASPX(或 ascx)文件,然后选择转换为 Web 应用程序(或类似的东西)。这将强制刷新设计器文件。

您可以在解决方案资源管理器中右键单击项目并选择 Web 应用程序。在这种情况下,您的所有项目文件都将被更改。

如果右键单击后看不到转换为 Web 应用程序,您可以单击项目菜单并在底部看到转换为 Web 应用程序

于 2014-06-21T09:00:58.550 回答
0

我认为中间有3个问题的问题组合:

  1. 检查代码 MyFile.aspx.cs 文件中的命名空间是否与项目相同。
  2. 在 MyFile.design.aspx.cs 中,命名空间应与以前的文件匹配
  3. 如果部分类中的 aspx 页面的设计文件已声明产生该错误的控件。

在我的情况下,问题出现在复制/添加现有的 aspx 文件之后。检查所有命名空间是否正确后,问题已解决。

于 2020-11-04T14:40:23.213 回答
-2

看起来您的问题可能是未设置元素 ID 的大写 ID。给定您发布的代码,也不确定 id 如何成为对象。

于 2013-06-28T20:30:57.283 回答