ASP.Net runat服务器控件未编译

ASP.Net runat服务器控件未编译,asp.net,servercontrols,Asp.net,Servercontrols,我创建了一个新的Web项目(.Net 3.5),并删除了原始的Default页面,以创建Master页面,然后使用Master页面重新创建Default。一切都很顺利。现在,当我在Default页面上的ContentPlaceHolder中添加控件时,当我尝试从code文件访问控件时,会出现编译器错误: 错误4“\u Default”不包含 “FirstName”和“no”的定义 扩展方法“FirstName”接受 类型为“\u Default”的第一个参数 可以找到(你是否缺少一个 使用指令或

我创建了一个新的Web项目(.Net 3.5),并删除了原始的
Default
页面,以创建
Master
页面,然后使用
Master
页面重新创建
Default
。一切都很顺利。现在,当我在
Default
页面上的
ContentPlaceHolder
中添加控件时,当我尝试从
code文件
访问控件时,会出现编译器错误:

错误4“\u Default”不包含 “FirstName”和“no”的定义 扩展方法“FirstName”接受 类型为“\u Default”的第一个参数 可以找到(你是否缺少一个 使用指令或程序集 参考?)

我的管制声明:

<asp:TextBox runat="server" ID="FirstName" />

通过将
CodeFile
更改为
codebeard
,我成功地实现了这一点

工作:

不工作:


可能堆栈跟踪正常?代码隐藏?我们需要查看.aspx.cs中的类声明以及@Page标记。另外,“FirstName”嵌入了什么?是否有其他容器(如中继器或网格)已放入?如果您将整个default.aspx页面放在pastebin中可能会有所帮助。comFirstname包含在一个表中,但此代码是从我创建的另一个站点及其工作区复制的。
<%@ Page Title="" Language="C#" MasterPageFile="~/Master/MasterPage.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
string firstname = FirstName.Text;