Asp.net mvc MVC 3路线问题

Asp.net mvc MVC 3路线问题,asp.net-mvc,Asp.net Mvc,我正在尝试加入一些新的路线,但不确定从哪里开始。我想做的是让我的路线翻译如下: /transport class A/23 translated to /info/classes/A-23 public class InfoController : ControllerBase { public ActionResult ViewInfo(string class1, string class2) { //presumably get model data from t

我正在尝试加入一些新的路线,但不确定从哪里开始。我想做的是让我的路线翻译如下:

/transport class A/23   translated to   /info/classes/A-23
public class InfoController : ControllerBase
{
  public ActionResult ViewInfo(string class1, string class2)
  {
    //presumably get model data from the class parameters here
    //and pass it as parameter to below:
    return View();
  }
}
我了解使用MapRoute的基本知识,但我可以做上述事情吗


我希望有人能给我一些建议。

在我看来,你实际上是在追求类似的东西,因为你正在从一个Url转到另一个Url

但是MVC不会重写URL,它会根据您提供的路由模式将它们映射到控制器操作

因此,如果您询问是否可以将第一个url拆分为控制器/操作对(带参数),那么当然可以。您只需在正确的位置设置带有必要参数的管线。因此,您可以调用
MapRoute
,方法如下(我会使用连字符表示空格):

然后您可以按如下方式编写控制器:

/transport class A/23   translated to   /info/classes/A-23
public class InfoController : ControllerBase
{
  public ActionResult ViewInfo(string class1, string class2)
  {
    //presumably get model data from the class parameters here
    //and pass it as parameter to below:
    return View();
  }
}

虽然这也取决于此路由中的
传输
常量是否也是可变的,但我猜-在这种情况下,您可以将它们作为路由参数下推,并将其放入控制器方法的参数列表中。

@Miguel Campos-很高兴能提供帮助:)