【问题标题】:ASP .Net runat server controls not compilingASP .Net runat 服务器控件未编译
【发布时间】:2011-07-25 10:44:57
【问题描述】:

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

错误 4 '_Default' 不包含 'FirstName' 的定义并且没有 扩展方法“名字”接受 '_Default' 类型的第一个参数 可以找到(您是否缺少 使用指令或程序集 参考?)

我的控件声明:

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

有什么想法吗?

编辑

页面声明:

<%@ Page Title="" Language="C#" MasterPageFile="~/Master/MasterPage.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

代码隐藏:

string firstname = FirstName.Text;

【问题讨论】:

  • 也许堆栈跟踪是有序的?
  • 代码隐藏?我们需要查看 .aspx.cs 中的类声明以及 @Page 标记。
  • 另外,什么是“名字”嵌入?您是否已将其放入其他容器(如中继器或网格)?如果您将整个 default.aspx 页面放在 pastebin.com 中可能会有所帮助
  • 名字包含在一个表中,但这段代码是从我制作的另一个网站复制而来的。

标签: asp.net servercontrols


【解决方案1】:

我设法通过将CodeFile 更改为CodeBehind 来实现此功能。

工作:

&lt;%@ Page Title="" Language="C#" MasterPageFile="~/Master/MasterPage.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_Default" %&gt;

不工作:

&lt;%@ Page Title="" Language="C#" MasterPageFile="~/Master/MasterPage.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2019-07-10
    • 1970-01-01
    相关资源
    最近更新 更多