0

このチュートリアルで説明されているように、SiteMap Security Trimming を実装しました: ASP.NET メニューと SiteMap Security Trimming

メニューは期待どおりに機能します。さらに一歩進んで、結果のトリミングされたメニューの最初のノードにユーザーをリダイレクトしたいと思います。メニューは役割に基づいてユーザーごとに異なるため、リダイレクト URL はメニュー自体またはサイトマップ ファイルから取得する必要があります。

これを達成する方法について何か提案はありますか?

4

1 に答える 1

0

少なくとも 1 つのオプションを見つけたようです。MenuItemDataBound のイベント ハンドラーを作成し、メニューにバインドされた最初の項目の Url に基づいてリダイレクトしました。

aspx で、メニューのOnMenuItemDataBound="Menu1_MenuItemDataBound"

次に、コード ビハインドで次のメソッドを作成しました。

protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e)
{
    string Url = ((SiteMapNode)e.Item.DataItem).Url;
    Response.Redirect(Url);
}

期待どおりに動作するようです。より良い解決策がある場合は、お知らせください。

于 2013-07-18T17:40:48.417 に答える