如何在ASP中的母版页中有多个内容

时间:2014-05-08 14:23:12

标签: html asp.net css sharepoint-2013 contentplaceholder

我陷入两难境地,我希望我能在这里澄清。

我有一个母版页,其中有一个contentplaceholder,每个其他子页面都使用它:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %>

<!DOCTYPE html>
<html lang="en">
<head runat="server">
<meta charset="utf-8" />
<title><%: Page.Title %></title>

<!--[if !IE]> -->
<link rel="stylesheet" href="theStyles/adipoli.css" type="text/css" charset="utf-8" />
<!-- <![endif]-->

<script type="text/javascript" src="theScripts/placeholders.jquery.min.js"></script>
<script type="text/javascript" src="theScripts/jquery.appear.js"></script>

<!-- default stylesheets -->
<link rel="stylesheet" type="text/css" href="theStyles/defaultStyle.css" />
<link rel="stylesheet" type="text/css" href="theStyles/captionStyle.css" />
<link rel="stylesheet" type="text/css" href="theStyles/footerLinks.css" />
<!-- end default stylesheets -->

<!-- if IE version 9 or less -->
<!--[if lte IE 9]>
<link rel="stylesheet" type="text/css" href="theStyles/defaultStyle_ie.css" />
<link rel="stylesheet" type="text/css" href="theStyles/captionStyle_ie.css" />
<![endif]-->

</head>
<body>
    <form runat="server">
        <asp:ContentPlaceHolder runat="server" ID="FeaturedContent" />
<!-- ################################################################################ -->
<!-- ###                                                                          ### -->
<!-- ### The below contents will be visible in every page unless otherwise stated ### -->
<!-- ###                                                                          ### -->
<!-- ################################################################################ -->
<!-- ### BEGIN LEFT SIDE MENU ### -->
<!-- ### END LEFT SIDE MENU ### -->
<!-- ### BEGIN TOP RIBBON ### -->
<div id="headerRibbon">
    <span id="socialIcons">
        <asp:HyperLink title="Compant Homepage" href="Default.aspx" ClientIDMode="Static" runat="server">
            <asp:Image src="theImages/wmlogo.png" width="219" height="47" alt="Compant Medical Group Homepage" title="Compant Medical Group Homepage" runat="server" />
        </asp:HyperLink>
    </span>

    <div id="tSearch">
        <!--[if lte IE 8]>
            <input id="searchText" name="" type="text" size="40" placeholder="Search Compant" />
        <![endif]-->
        <!--[if gte IE 9]><!--> 
            <asp:TextBox ClientIDMode="Static" ID="searchText" size="40" placeholder="Search" runat="server"></asp:TextBox>
        <!--<![endif]--> 
    </div>
</div>
<!-- ### END TOP RIBBON ### -->

<!-- ### BEGIN BOTTOM RIBBON ### -->
<div id="strip">
</div>
<div id="footerRibbon" class="footerRibbon">
    <asp:Label runat="server" ClientIDMode="Static" ID="copyRight" Text="© 2009-14 COMPANY"></asp:Label>
</div>
<!-- ### END BOTTOM RIBBON ### -->
        <script type="text/javascript" src="theScripts/defaultScript.js"></script>
    </form>
</body>
</html>

公司简介

<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="about.aspx.cs" Inherits="about" %>

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="FeaturedContent">

</asp:Content>

联系我们

<%@ Page Title="Contact" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="contact.aspx.cs" Inherits="contact" %>

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="FeaturedContent">

</asp:Content>

以下是它的样子快照:

enter image description here

我的问题是,如果在aboutus页面中有Webparts,它有自己的HTML代码,我希望某些用户能够编辑。我可以通过设置母版页的方式实现这一点吗?或者我是否必须为每个子页面设置单独的contentplaceholder来实现它?

1 个答案:

答案 0 :(得分:0)

如果要创建支持所有sharepoint功能的SharePoint母版页(如功能区),我建议您使用标准母版页进行更改,而不是从头开始创建新的母版页。

您当前的母版页不支持Web部件,因为您没有所有必需的javascripts,css文件,控件等。包括在内。例如,您需要在页面上使用SPWebPartManager控件来支持Web部件(包含在标准母版页中)。

添加所有必要内容后,下一步是将WebPartZone控件添加到您的页面,以允许最终用户向页面添加Web部件。

<WebPartPages:WebPartZone runat="server" FrameType="Standard" ID="MainHeader" Title="loc:Main Header">
    <ZoneTemplate>
    </ZoneTemplate>
</WebPartPages:WebPartZone>