2011-11-14 6 views
1

私の会社のASP.NET Webアプリケーションを開発しています。このWebアプリケーションは会社内でのみ使用されるため、Windows認証を使用しています。ASP.NETのユーザーの役割に基づいてメニューに項目を追加するにはどうすればよいですか?

私は、次のようsite.masterページ内のメニュー/ナビゲーションバーを定義した:

  • サービス1
  • サービス2
  • サービス3
  • <ul> 
    

  • ホーム
  • サービス
  • ポートフォリオ
  • また

  • お問い合わせ、私は2つのCSSファイルを持っています。 1つはウェブサイト全体用、もう1つはメニュー用です。

    ここで、管理者は同じメニューバーを表示したいが、もっと多くのアイテムを表示したい。私の友人は、私はメニューのための特別なCSSファイルを持っているので、私はユーザーコントロールとしてメニューを実装することでこれを行うことができると私に言った。そして、ユーザーの役割に基づいてカスタマイズすることができます。

    どうすればいいですか? 例があれば教えてください

    答えて

    3

    メニューリストを定義するには、サイトマップを使用してください。これにより、どのリンクがどのリンクを見ることができるかを定義することができます。私のサイトマップ:

    <?xml version="1.0" encoding="utf-8" ?> 
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > 
        <siteMapNode url="Default.aspx" title="Home Page" description=""> 
        <siteMapNode url="Merchant/Default.aspx" title="Merchant" description=""> 
         <siteMapNode url="Merchant/ProdcutManager.aspx" roles="Merchant" title="Product Manager"></siteMapNode> 
         <siteMapNode url="Merchant/PromotionManager.aspx" roles="Merchant" title="Promotion Manager"></siteMapNode> 
         <siteMapNode url="Merchant/AccountManager.aspx" roles="Merchant" title="Account Manager"></siteMapNode> 
        </siteMapNode> 
        <siteMapNode url="Customer/Default.aspx" title="Customer" description=""> 
         <siteMapNode url="Customer/AccountManager.aspx" roles="Customer" title="Account Manager"></siteMapNode> 
         <siteMapNode url="Customer/Transfer.aspx" roles="Customer" title="Points transfer"></siteMapNode> 
        </siteMapNode> 
        </siteMapNode> 
    </siteMap> 
    

    次に、サイトマップデータソースでメニューをレンダリングするためにasp:menuを使用します。

    関連する問題