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 に答える