0

あなたが健康であることを願っています。

私は SharePoint ポータルを持っています。このポータルのマスター ページには多くのサイド ナビゲーションが含まれています。以下のケースに直面しました。

service.aspx というページがあり、このページのナビゲーションのみを非表示にしたいのですが、このページは page layout に基づいています。

ナビゲーションのないマスター ページのコピーを作成し、このマスター ページをページ レイアウトに割り当てようとしましたが、サイト マスター ページがページ 1 をオーバーライドするため、作成できませんでした

これに関連する質問です。ページ レイアウトにこのスクリプトを含むスクリプトを使用して、マスター ページ要素を非表示にする方法はありますか ???

または、そのような問題の解決策はありますか?

4

1 に答える 1

0

サイド ナビゲーションの一部のスタイルを無効にできるように、マスター ページにプレースホルダーを追加できるはずです。この記事には、これを達成するために何をする必要があるかについて、非常に優れた情報が含まれています。

マスター ページで、body タグの class 属性内にコンテンツ プレースホルダーを追加し、タグに含まれている可能性のある runat="server" 属性をすべて削除します。これは通常 SharePoint では不要であり、エラーが発生するためです。

 <body scroll="yes" class="<asp:ContentPlaceHolder ID='PlaceHolderAdditionalBodyClass' runat='server' />">

ページ レイアウトでコンテンツをプレースホルダーに適用します。たとえば、frontpage.aspx に次のように記述します。

 <asp:Content ContentPlaceholderID="PlaceHolderAdditionalBodyClass" runat="server">frontpage</asp:Content>

ページ レイアウトとして frontpage.aspx を使用するページには、ボディにクラス フロントページがあり、既定のスタイル シートでそれを参照して、既定のスタイル宣言の例外を作成できます。

クイック起動のないフロントページとクイック起動のあるデフォルトのレイアウトがあると仮定すると、フロントページを引き伸ばすには次のようにします。

 #leftNavigationContainer {
          float: left;
          width: 200px;
  }

 #pageLayoutContainer {
          float: left;
          margin-left: 200px;
 }

.frontpage #leftNavigationContainer { display: none; }
.frontpage #pageLayoutContainer { margin-left: 0; }
于 2012-05-18T08:52:00.933 に答える