3

我注意到 ASP.NET MVC 中这个有趣的地方:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

我想将 {*pathInfo} 映射到路线中。

就像是:

routes.MapRoute(
  "area/{*pathInfo}",
   "{controller}/{action}/{id}",parameters
   new { controller = "Area", action = "Index", id = ??? } 
);

但是如何从 mydomain.com/area/foo/bar/rab/oof 传入变量“foo/bar/rab/oof”?将整个位作为字符串或作为集合传递对我来说都很好。

谢谢!

4

1 回答 1

4

您使用的是哪个 MVC 版本?我记得在 MCV Beta 中,路线名称应该是 MapRoute() 的第一个参数。无论如何,鉴于您捕获路径的目标,我会这样做:

routes.MapRoute("AreaRoute", "Area/{*values}", new {controller = "Area", action = "Index"}       );

在区域控制器中:

// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example
public string Index(string values)  
{  
  ...
}
于 2009-03-05T09:01:28.323 回答