在 mvc 站点地图提供程序中,我想根据登录用户的 id 显示一个列表菜单。我在考虑 dynamicnodeprovider,但它正在为登录之前的第一个请求工作。我怎样才能做到这一点?
谢谢,阿杰
在 mvc 站点地图提供程序中,我想根据登录用户的 id 显示一个列表菜单。我在考虑 dynamicnodeprovider,但它正在为登录之前的第一个请求工作。我怎样才能做到这一点?
谢谢,阿杰
You could take the approach of making a JQuery AJAX call to a controller method which returns the required sitemap information. This enables you to update the sitemap whenever you like based on client side events.
e.g. see this post : http://joelabrahamsson.com/entry/xml-sitemap-with-aspnet-mvc
Another decision is if you want the controller to return the sitemap as ready generated HTML and dynamically replace it in the DOM. Or ( more work ) return the pure sitemap in XML and have JQuery generate the SiteMap markup for you.
您可以使用 cookie 来实现这一点。在用户登录时设置一个 cookie,并在他回来时读取它。显然,如果:
所以你需要一个默认视图来进行首次访问;我不认为你可以避免这个问题。