2012-12-04 41 views
0

我想在ASP.Net(带有.Net 4.0的Visual Studio 2012)中使用页面模板。ASP.Net页面模板和在呈现页面中使用asp标记

基页面发出包含正文,html,表单和其他标签的基本模板。这意味着渲染的页面只有正文部分内的内容。该模板添加页眉和页脚。虽然我还没有最终确定设计,但我正在考虑记录here的概念。 (是的,我知道,编码的做法是不给到页面的链接,可以走了,但我不想侧轨道的问题)

每个页面的部分是:

<%@ 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’”。

一个想法是以编程方式简单地添加正文内容,但这是一个页面。我宁愿使用GUI。

如何避免此警告?有没有更好的方法来做模板?这位作者在10年前写了这篇文章,所以事情可能从那时起就改变了。这些警告是可以理解的,但是由于存在表单,主体和html标签,因此不能直接看到。

(我刚刚回答了我的问题,在Vs2012中搜索了一个短语并对它进行了一些研究,Master Pages是答案,显然,微软必须在VS2008或VS2010中添加这个功能,像我一样,可能不知道“母版页”这个概念,并且可能会像我一样对页面模板进行重新分类,我希望这篇文章能够说明其他人的时间,Google应该有希望接受ASP.Net和Page Templates。)

回答

1

理想情况下,您可以使用MasterPage来布局主模板。

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

Here for a tutorial on Master Pages

,那么你会使用站点范围内的代码BasePage;例如任何在大多数页面上都需要逻辑的东西。您的Content页将继承此BasePage

作为旁注,请参阅此页Unrecognized tag prefix or device filter 'asp' in VS2012关于您的“无法识别的标记前缀或设备过滤器'asp'”。消息

+0

不错的教程链接和漂亮的写作。这是有道理的,但我从来没有想过使用页面模板的关键字主文件进行Google搜索。微软做得很好。 –