2013-06-23 103 views
0

我是一个新手路由,我想给我的用户可能性转到该网站的管理员部分,只需输入www.hisSite.com/admin whith将重定向到SiteAdmin控制器和Index的操作。可能吗? 我可能没有理解,但我很难被卡住......Asp.net MVC 4管理员路由

+0

为什么你只是将你的'SiteAdminController'重命名为'AdminController'? –

+0

谢谢大家,帮助我最终了解路线。当然,我应该不得不重新命名我的控制器和一天结束。拥有一个控制器的 –

回答

0

有几个选项,你可以选择重定向或为管理端创建一个单独的区域但是我认为,因为你是一个新手只需要创建一个名为AdminController控制器,其中包括所谓的Index像下面的操作:

public class AdminController : Controller 
{ 
    public Action Index() 
    { 
     // Some action 
    } 
} 

要调用这个你只需要输入:

www.hisSite.com/admin 

www.hisSite.com/admin/index 

这里发生的事情是通过添加后缀Controller到每个控制器类的约定,当浏览器请求路由将识别的第一部分,即Admin的路线。

0
routes.MapRoute(
       name: "Admin", 
       url: "admin/{action}/{id}", 
       defaults: new { controller = "SiteAdmin", action = "Index", id = UrlParameter.Optional } 

这会将所有指向www.hisSite.com/admin的网址路由到SiteAdmin控制器中的操作和视图。

更简单的方法是创建一个管理员控制器。

+0

可能是一种更简单的方法,但它不是拥有MapRoute的更快捷方式吗? PLZ纠正我,如果我错了。 –

+0

其大约相同。唯一的区别是路由表将有两条路由而不是一条路由。如果你使用'AdminController',它将使用路由表中的默认路由。如果你想拥有另一个命名不同的控制器,你将不得不依赖MapRoute来连接这个连接。 – codetantrik