ASP.NET MVC路由两个GUID

Ben*_*Ben 5 asp.net-mvc routing

我有一个采取两个GUID的行动:

public class MyActionController : Controller
{
  //...

  public ActionResult MoveToTab(Guid param1, Guid param2)
  {
    //...
  }
}
Run Code Online (Sandbox Code Playgroud)

我想将以下URI映射到该操作:

/myaction/movetotab/1/2
Run Code Online (Sandbox Code Playgroud)

... 1对应于param1,2对应param2.

路线会是什么样的,是否可以将参数映射到具有Guid类型的参数?

eu-*_*-ne 8

是的,可以将参数映射到 System.Guid

routes.MapRoute(
    "MoveToTab",
    "{controller}/{action}/{param1}/{param2}",
    new { controller = "MyAction", action = "MoveToTab",
        param1 = System.Guid.Empty, param2 = System.Guid.Empty }
);
Run Code Online (Sandbox Code Playgroud)

要么

routes.MapRoute(
    "MoveToTab2",
    "myaction/movetotab/{param1}/{param2}",
    new { controller = "MyAction", action = "MoveToTab",
        param1 = System.Guid.Empty, param2 = System.Guid.Empty }
);
Run Code Online (Sandbox Code Playgroud)