Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 asp.net mvc4中基于用户的路由和子例程_Asp.net Mvc 4_Visual Studio 2012_Durandal_Hottowel - Fatal编程技术网

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.map

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();
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();