在mvc站点地图提供程序中,我想显示一个基于登录用户id的列表菜单。我正在考虑dynamicnodeprovider,但它正在为第一个请求工作,即在登录之前。我怎样才能做到这一点?
谢谢,Ajai
您可以使用cookie来实现这一点。当用户登录时设置一个cookie,当他回来时读取它。显然,如果:
- 用户阻止cookies
- 用户第一次访问该站点
所以第一次访问时需要一个默认视图;我认为你无法避免这个问题。
您可以采用JQuery AJAX调用控制器方法的方法,该方法返回所需的站点地图信息。这使您可以随时根据客户端事件更新站点地图。
。看这篇文章:http://joelabrahamsson.com/entry/xml-sitemap-with-aspnet-mvc
另一个决定是,如果您希望控制器将站点地图作为已生成的HTML返回,并在DOM中动态替换它。或者(更多的工作)返回XML格式的纯站点地图,并让JQuery为您生成站点地图标记。