为现有网站创建母版页的指南

Posted

技术标签:

【中文标题】为现有网站创建母版页的指南【英文标题】:Guideline to Create Master Pages for Existing Website 【发布时间】:2011-12-12 17:23:27 【问题描述】:

我从来没有弄乱母版页,我想迁移我现有的一些网站,这样我就可以停止尝试维护标题、菜单等的所有重复编码。

我从这个介绍开始:ASP.NET 2.0 Master Pages - 它非常好,但没有回答我的详细信息。

我可以(如果可以的话我会怎么做)

母版页<head><title> 标签? (以防我忘记给文档命名) META 标签的母版页?毕竟,大部分信息都是多余的。 ...我可以在META 标签中添加额外内容,还是“全有或全无”之类的东西? (比如覆盖 ToString() 并返回 base.ToString() + " my own flavor."。 母版页CSS Stylesheet 页面和javascript 源代码?

如果有帮助,我会在 Windows 7 中使用 Notepad.exe 进行编码,因为我不喜欢大多数工具(尤其是 Microsoft 的工具)尝试为我“自动格式化”我的文本。

也许这些主题都是基础知识,但我在网上找到的教程或此处的信息中并不容易看到它们得到解答。

有人能给我指出一个关于如何在 母版页 中做不同事情的好参考吗?

【问题讨论】:

【参考方案1】:

您可以使用母版页完成所有这些操作。只需将它们放在您的 .master 文件中,类似于:

<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="YourPage.Master.cs" Inherits="MasterPages.YourMasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Your Title</title>    
    <link rel="stylesheet" href="~/YourStyles.css" />
    <asp:ContentPlaceHolder ID="headContentPlaceHolder" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <div>
    <form id="form1" runat="server">
        <asp:ContentPlaceHolder ID="bodyContentPlaceHolder" runat="server">
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

仅供参考:如果您感到困扰,您可以在 Visual Studio 中关闭自动格式化。使用 Visual Studio 虽然并不完美,但如果您学会了如何使用它,它将帮助您避免简单的拼写错误(通过 Intellisense)并通常加快您的开发速度。我建议至少使用某种 IDE。如果不是 Visual Studio,那么可能是 MonoDevelop。

【讨论】:

+1 - 那么,我可以输入&lt;asp:ContentPlaceHolder ID="metaDescription" runat="server"&gt;&lt;meta name="Keywords" content="jp2code" /&gt;&lt;/asp:ContentPlaceHolder&gt; 吗?如果是这样,我假设要替换它,我只需调用派生页面中的控件并覆盖内容。这是正确的吗? 在您的内容页面中,您的每个占位符都有一个 &lt;asp:Content&gt; 标记,您在其间放置的任何内容都将放置在呈现页面中该占位符的位置。

以上是关于为现有网站创建母版页的指南的主要内容,如果未能解决你的问题,请参考以下文章

Google Adword 和 asp.net 母版页

如何将SharePoint顶部导航定位到中心?

WebFrom 母版页

webfrom 母版页

Litebox 插件不起作用

我可以在一个共享点站点上使用多个母版页吗?