0

我想在 ASP.Net 中使用页面模板(Visual Studio 2012 with .Net 4.0)。

基本页面发出包含正文、html、表单和其他标记的基本模板。这意味着渲染的页面只有正文部分的内容。模板添加页眉和页脚。虽然我还没有完成设计,但我正在查看此处记录的概念。(是的,我知道编码实践是不提供指向页面的链接,这可能会消失,但我不想绕开这个问题。)

每页的部分是:

<%@ Page language="c#" Codebehind="AdvancedPageInheritance.aspx.cs" AutoEventWireup="true" Inherits="PageInheritanceSample.AdvancedPageInheritance" %>

第一行之后的任何内容都是身体的一部分。

如果我将控件拖放到表单上,VS2012 会发出如下代码:

<asp:CheckBox ID="CheckBox2" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" />
<asp:Button ID="Button2" runat="server" Text="Button" />

VS2012 自动发出警告“无法识别的标记前缀或设备过滤器‘asp’。”

一种想法是简单地以编程方式添加正文内容,但那是一个页面。我宁愿使用图形用户界面。

我怎样才能避免警告?有没有更好的方法来做模板?那位作者在 10 年前写了这篇文章,所以从那时起情况可能会发生变化。警告是可以理解的,但有错误,因为有一个表单、正文和 html 标签,只是不直接可见。

(我刚刚通过在 Vs2012 中捕捉到一个短语并对其进行了一些研究来回答我的问题。Master Pages 就是答案。显然,微软一定是在 VS2008 或 VS2010 中添加了这一点。我将离开这篇文章,因为其他人,比如我,可能不知道“母版页”的概念,可能会像我一样研究页面模板。我希望这篇文章能说明其他人的时间。谷歌应该希望能在 ASP.Net 和页面模板上有所作为。)

4

1 回答 1

1

理想情况下,您将使用MasterPage来布置您的主模板。

然后,您的Content页面将具有适当的<asp:Content />控件,您可以在其中添加内容。要添加内容页,您需要在 Visual Studio 中添加一个新的“Web 窗体”项,并通过选中“选择母版页”复选框,您可以选择内容页应使用的母版页。

有关母版页的教程,请参见此处

然后,您将使用BasePagefor 站点范围的代码;例如,大多数页面都需要逻辑的任何东西。您的Content页面将继承此BasePage

作为旁注,关于您的“无法识别的标签前缀或设备过滤器'asp'”,请参阅VS2012中的此页面无法识别的标签前缀或设备过滤器'asp'。信息

于 2012-12-04T19:10:09.347 回答