質問

ASP.NET MVCのこの興味深いビットに注意してください:

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

{* pathInfo}をルートにマッピングしたい。

次のようなもの:

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

しかし、どのように変数" foo / bar / rab / oof"を渡すのですか? mydomain.com/area/foo/bar/rab/oofから?ビット全体を文字列またはコレクションとして渡すのは問題ありません。

ありがとう!

役に立ちましたか?

解決

どの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)  
{  
  ...
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top