【发布时间】:2013-07-19 01:40:48
【问题描述】:
我已经按照本教程中的描述实现了站点地图安全修剪:ASP.NET Menu and SiteMap Security Trimming
菜单按预期工作。我想更进一步,将用户重定向到生成的修剪菜单中的第一个节点。每个用户的菜单会根据他们的角色而有所不同,因此重定向 URL 需要从菜单本身或站点地图文件中派生。
关于如何完成此任务的任何建议?
【问题讨论】:
标签: c# asp.net webforms asp.net-4.0
我已经按照本教程中的描述实现了站点地图安全修剪:ASP.NET Menu and SiteMap Security Trimming
菜单按预期工作。我想更进一步,将用户重定向到生成的修剪菜单中的第一个节点。每个用户的菜单会根据他们的角色而有所不同,因此重定向 URL 需要从菜单本身或站点地图文件中派生。
关于如何完成此任务的任何建议?
【问题讨论】:
标签: c# asp.net webforms asp.net-4.0
我似乎找到了一个选项,至少:我为 MenuItemDataBound 创建了一个事件处理程序,并根据绑定到菜单的第一项的 Url 进行重定向,如下所示:
在 aspx 上,设置菜单的OnMenuItemDataBound="Menu1_MenuItemDataBound"
然后在代码隐藏中创建以下方法:
protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e)
{
string Url = ((SiteMapNode)e.Item.DataItem).Url;
Response.Redirect(Url);
}
似乎按预期工作。如果您有更好的解决方案,请告诉我。
【讨论】: