【发布时间】:2012-06-18 20:58:13
【问题描述】:
我是 ASP.NET 的新手,我想使用一种简单的技术,我曾经在网站上使用 PHP。也就是说,包含文件以呈现页眉和页脚。例如,
<?php
include "header.php";
echo "Hello, world!";
include "footer.php";
?>
这样做的正确方法是什么?
【问题讨论】:
我是 ASP.NET 的新手,我想使用一种简单的技术,我曾经在网站上使用 PHP。也就是说,包含文件以呈现页眉和页脚。例如,
<?php
include "header.php";
echo "Hello, world!";
include "footer.php";
?>
这样做的正确方法是什么?
【问题讨论】:
Webforms - 你会想要使用user controls。
ASP.NET MVC - 你会想要使用partial views。
基于其他答案之一的快速说明 - 如果您使用网络表单并严格使用它来为您网站上的许多页面使用通用页眉和页脚,那么 master pages 实际上将是我的最佳方法观点。但是,如果您通常询问如何在 ASP.NET Web 应用程序中呈现可重用的代码块,类似于您在 php 中使用 includes 的方式,那么您正在寻找用户控件/部分视图.
【讨论】:
在母版页中注册控件:
<%@ Register src="~/Controls/Header.ascx" tagname="Header" tagprefix="abc" %>
<%@ Register src="~/Controls/Footer.ascx" tagname="Footer" tagprefix="abc" %>
在母版页的正文中:
<body>
<form id="form1" runat="server">
<div id="header">
<abc:Header ID="abcHeader" runat="server" />
</div>
<div id="footer">
<abc:Footer ID="abcFooter" runat="server" />
</div>
</form>
</body>
【讨论】:
在 php 中你必须使用 include() 函数,但在 asp.net 中你使用母版页的概念。使用母版页,您不需要这样做。看这个 http://www.youtube.com/watch?v=epaavQsb950
【讨论】:
在普通的 ASP.NET 网站中,我们通过用户控件来实现。用户控件不过是可以在许多屏幕中重复使用的部分控件集。 Header 和 Footer 就是最好的例子。请通过 ASP.NET User Controls (MSDN) 了解有关用户控件的更多信息,这里是 a great walk through 详细解释。
【讨论】:
您已经创建了页眉和页脚吗?
如果有,它们是什么格式的?
如果您是从头开始,我建议您使用母版页。 Creating a Site-Wide Layout Using Master Pages (C#) 帮助您快速开始使用母版页。
【讨论】: