ASP.Net runat服务器控件未编译
我创建了一个新的Web项目(.Net 3.5),并删除了原始的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”的第一个参数 可以找到(你是否缺少一个 使用指令或
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;