我在.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”
事情是相同的EXHT html和代码在另一个文件中工作。我们已经尝试了一切。有什么想法吗?
答案 0 :(得分:1)
当您复制粘贴一个aspx文件时,通常会出现此错误。请验证您的aspx是否指向正确的cs文件。另请检查两个文件的名称。
其他选项是您的设计器文件有问题。如果您希望Visual Studio重新生成designer.cs文件,您可以进入设计模式,进行小的更改并保存文件。
如果这一切都不起作用,请告诉我(90%的时间是由此造成的)。
答案 1 :(得分:1)
如果其他建议不起作用,请删除设计器文件,右键单击标记文件,然后单击“转换为Web应用程序”。
答案 2 :(得分:1)
在将旧的VS2005 aspx / aspx.cs文件放入VS2013中的新项目时,我遇到了类似的问题。我通过创建一个新的Web应用程序,为每个aspx页面创建一个新的webform并复制.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" %>
我希望这有助于其他人。
答案 3 :(得分:0)
很可能控制变量没有被添加到aspx.designer.cs文件中。您可以重新添加控件,Visual Studio可能会为您添加它,或者您可以手动将其添加到设计器中。
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divText;
答案 4 :(得分:0)
右键单击ASPX(或ascx)文件,然后选择转换为Web应用程序(或类似的东西)。这将强制刷新设计器文件。
您可以右键单击解决方案资源管理器中的项目并选择Web应用程序。在这种情况下,所有项目文件都将被更改。
如果右键单击后无法看到转换为Web应用程序,可以单击项目菜单,然后在底部看到转换为Web应用程序
答案 5 :(得分:0)
我认为中间是3个问题的混合问题:
就我而言,该问题是在复制/添加现有aspx文件后出现的。 检查所有名称空间是否正确后,问题就解决了。
答案 6 :(得分:-2)
看起来您的问题可能是大写ID,而不是设置元素的ID。根据您发布的代码,还不确定id如何成为对象。