Asp.net mvc 4 asp.net mvc4中基于用户的路由和子例程
:已更新 有人能帮我找到如何基于用户创建路由和子例程吗 是否有可能创建一个可以完成此工作的项目?如果有,如何创建 这就是我的菜单的样子(注意:所有菜单项一起称之为主菜单): 假设我有以下用户组:Asp.net mvc 4 asp.net mvc4中基于用户的路由和子例程,asp.net-mvc-4,visual-studio-2012,durandal,hottowel,Asp.net Mvc 4,Visual Studio 2012,Durandal,Hottowel,:已更新 有人能帮我找到如何基于用户创建路由和子例程吗 是否有可能创建一个可以完成此工作的项目?如果有,如何创建 这就是我的菜单的样子(注意:所有菜单项一起称之为主菜单): 假设我有以下用户组: -Admin -visitors -vip -costumers -co-workers 我想做的事情是 if(user == Admin){ destroy the current menu then make a copy of master **master** remove subrou
-Admin
-visitors
-vip
-costumers
-co-workers
我想做的事情是
if(user == Admin){
destroy the current menu then make a copy of master **master** remove subroute women and subroute dog then push
}else if(user == visitor){
...
}
或者有更好的方法来定义它吗?
< P>首先,您可能需要考虑将您的项目升级到DurDall 2,因为它消除了SAMYYJS的依赖性,有利于自定义路由器工作得更好(DurDANAL 1现在基本上已经过时)。以下是有关升级的页面: 以下是新路由器上的文档: 至于基于用户处理路由,因为router.map只需要一个路由数组,所以您可以有条件地构建该数组并将其传递给router.mapvar routes = [ { route: '', moduleId: 'hello/index', title: 'Hello World', nav: true },
{ route: 'men', moduleId: 'men/index', title: 'Men', nav: true }]
if(user == Admin){
routes.push({ route: 'admin', moduleId: 'admin/index', title: 'Admin', nav: true }
}else if(user == visitor){
routes.push({ route: 'women', moduleId: 'women/index', title: 'women', nav: true }
}
return router.map(routes)
.buildNavigationModel()
.mapUnknownRoutes('hello/index', 'not-found')
.activate();
var routes = [ { route: '', moduleId: 'hello/index', title: 'Hello World', nav: true },
{ route: 'men', moduleId: 'men/index', title: 'Men', nav: true }]
if(user == Admin){
routes.push({ route: 'admin', moduleId: 'admin/index', title: 'Admin', nav: true }
}else if(user == visitor){
routes.push({ route: 'women', moduleId: 'women/index', title: 'women', nav: true }
}
return router.map(routes)
.buildNavigationModel()
.mapUnknownRoutes('hello/index', 'not-found')
.activate();