1

Visual Studio Web Developer 2010 (Express エディション) で Web サイトを作成しています。コンテンツのスタイルを設定するマスター ファイルを作成しました。

マスター ファイルに右側のメニューを配置したいのですが、実際の Web サイト ページから、特定のメニュー項目を表示する必要があるかどうかを知りたいです。たとえば、ホームページには右側に特定のメニュー項目のセットがあり、連絡先ページには別のセットがある場合があります。

特定のメニュー項目を表示するかどうかについて、マスター ファイルが true または false (デフォルトではすべて false) を処理するように設定する必要がありますか?それとも、コンテンツ ページからこれを処理する必要がありますか? つまり、メニュー関数を呼び出してそこから描画しますか?

4

2 に答える 2

2

ページにマスターページ宣言を追加して、次のようにプログラムでアクセスできるようにすることができます。

<%@ MasterType  virtualPath="~/MasterPage.master"%>

アクセスを有効または無効にするページの Page タグのすぐ下に配置します。

次に、コード ビハインドで、マスター ページ メソッドにアクセスできます。そのうちの 1 つは、そのサイド メニューを有効または無効にするメソッドです。

何かのようなもの:

Master.MyEnableMenuMethod();

さらに、次のように、そのマスター ページ宣言を動的に追加できます。

void Page_PreInit(Object sender, EventArgs e)
{
    this.MasterPageFile = "~/MasterPage.master";
}

詳細については、 http://msdn.microsoft.com/en-us/library/c8y19k6h (v=vs.85).aspx を参照してください。

于 2012-09-07T14:14:55.397 に答える
1

私がこの種のことをした方法は、メニューマークアップを含むコードを次のように配置することです。

<% if(!HttpContext.Request.Path.Contains("Contact.aspx")) { %>
   <li> <a href="Contact.aspx">Contacts</a></li>
<%}%}>

等々...

于 2012-09-07T14:19:33.950 に答える