【发布时间】:2008-10-11 04:55:24
【问题描述】:
经典 ASP 具有“服务器端包含”,因此可以轻松地为页眉、页脚、左侧或右侧栏设计通用布局。
在 ASP.NET 中,我认为我们必须使用“页面模板”。虽然大多数人说它好用,但我觉得它相当复杂,因为我们必须将整个 HTML 代码复制到 'Render' 函数中。有没有更简单的方法?我可以从 HTML 文件加载代码,而不是将整个代码粘贴到“渲染”函数中吗?
或者有没有比“页面模板”更好的替代品?
【问题讨论】:
经典 ASP 具有“服务器端包含”,因此可以轻松地为页眉、页脚、左侧或右侧栏设计通用布局。
在 ASP.NET 中,我认为我们必须使用“页面模板”。虽然大多数人说它好用,但我觉得它相当复杂,因为我们必须将整个 HTML 代码复制到 'Render' 函数中。有没有更简单的方法?我可以从 HTML 文件加载代码,而不是将整个代码粘贴到“渲染”函数中吗?
或者有没有比“页面模板”更好的替代品?
【问题讨论】:
我原以为母版页是 ASP.NET(2.0 及更高版本)中的标准方法。
请注意,这一切都是可视化创建的,无需在 Init/Load/Render 事件中手动复制 html,ASP.NET 会为您完成。
我读过的一本好书是Frtiz Onion 的Essential ASP.NET 2.0。它在第 2 章中对母版页进行了很好的简洁讨论。
【讨论】:
ASP.Net 2.0+ 使用母版页。
【讨论】:
母版页和用户控件相结合,为您提供比 ASP 所包含的更多功能。
【讨论】:
我同意 Ash 和 John 的观点。设计一个 .master 页面来保存您希望在所有页面上可见的所有内容。根据我的经验,页眉、页脚一侧进入母版页。然后添加<asp:content id='page_contents'>标签来保存每页变化的页面内容。
如果您有允许用户登录的身份验证页面,我建议不要包含表单的主文件。
【讨论】:
MasterPages 是正确的做法。从内容到母版来回传递信息可能很困难。我推荐这篇来自Scott Mitchell 的关于这个话题的文章,因为它会让你头疼。
【讨论】: