我陷入两难境地,我希望我能在这里澄清。
我有一个母版页,其中有一个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>
以下是它的样子快照:
我的问题是,如果在aboutus页面中有Webparts,它有自己的HTML代码,我希望某些用户能够编辑。我可以通过设置母版页的方式实现这一点吗?或者我是否必须为每个子页面设置单独的contentplaceholder来实现它?
答案 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>