1

ロール/ユーザーに基づいてサイトマップを設定しようとしています..(ロールメンバーシッププロバイダーのため、セキュリティトリミングを使用できません。サーバー側にあり、実装が複雑になるため)することは、アイテムを取り外して実行した後に簡単に実行することです。

次のように定義されたWebサイトマップがあります。

<siteMapNode title="Gestion des roles" url="" description="Gestion des roles">
  <siteMapNode url="~/Membership/AddRole.aspx" title="Ajouter Role" description="Ajouter role" />
  <siteMapNode url="~/Membership/DeleteRole.aspx" title="Supprimer Role" description="Supprimer un role" />
</siteMapNode>

<siteMapNode title="Gestion des sites" url="" description="Gestion des sites">
  <siteMapNode url="~/Membership/AddSite.aspx" title="Ajouter Site" description="Ajouter un nouveau site" />
</siteMapNode>

私が今アクセスしている方法は、次のコードです。

Menu menu = (Menu)Master.FindControl("Menu1");
String valuePath = @"Gestions/Gestion/Ajouter";
MenuItem item = menu.FindItem(valuePath);
if (item.Parent != null)
item.Parent.ChildItems.Remove(item);

しかし、アイテムを実行するとnullになり、例外がスローされます。読んでくれてありがとう

4

2 に答える 2

0

データ バインディングの問題が原因で MENU 内のアイテムを見つける際に問題が発生した場合は、ASP.NET PreRenderCompleteを使用できます。

   protected void Page_PreRenderComplete(object sender, EventArgs e){}
于 2013-05-14T02:51:50.180 に答える