2014-12-23 94 views
0

我是MVC的新手,很少与路由混淆。我已经定义2个路由作为 asp.net mvc路由routelink创建路由首先在application.cs中定义

routes.MapRoute(
    "testingController1", 
    " /mobile/{controller}/{action}/{key}", 
    defaults: new { controller = "Controller1", action = "Home" }); 

routes.MapRoute(
    "testingController2", 
    "/desktop/{controller}/{action}/{key}", 
    defaults: new { controller = " Controller2", action = "Home" }); 

如所看到的上述我有2个路由。现在,在Controller =“Controller2”,Action =“Products”中使用“testingController2”的路由链接时,网址被重定向为html/mobile/Controller2/Products。如何解决上述问题。我希望它被渲染为/ desktop而不是Mobile。

回答

0

您已经实现的方式,来测试你将不得不调用像网址: /桌面/ testingController2 /产品/

另一种方法,你也可以使用哪些方面的概念。请看link,看看如何注册区域的步骤13和14。

除非有特殊的要求,做你做了什么,你可以只保留默认路径:

routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Home", 
     action = "Index", id = UrlParameter.Optional } 
    ); 

,然后创建一个名为MobileController和另一个名为desktopController控制器。 然后通过添加名为Products的动作,您可以使用以下链接: www.yoursite.com/mobile/products www.yoursite.com/desktop/products