过去三周我一直在开发这个应用程序,并且出于某种原因决定在五分钟前停止工作,尽管我显然没有做任何事情。
在Default.aspx中:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AppName.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset=utf-8 />
<title></title>
<script>(A bunch of script declarations, etc)
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
在default.aspx.cs中:
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Web.UI.HtmlControls.HtmlGenericControl g = new System.Web.UI.HtmlControls.HtmlGenericControl();
//(Dynamically builds a load of html to insert into the form)
form1.Controls.Add(g);
}
}
我突然得到编译器错误'名称'form1'在当前上下文中不存在'尽管显然没有对这些文件中的任何一个进行任何更改。 Intellisense似乎无法在文件中的任何范围内看到它。
有谁知道为什么?
答案 0 :(得分:1)
检查form1是否存在于设计器文件(default.aspx.designer.cs)中,因为我怀疑它丢失了
答案 1 :(得分:1)
在VS的Build菜单中,尝试运行“Clean Solution”然后运行Build。
答案 2 :(得分:0)
在头部声明中没有runat =“Server”的问题,我必须在两周前更改并且Visual Studio已经设法在今天没有问题,尽管有几个项目的完全重建。典型的微软。