2009-03-05 5 views
3

私はASP.NET MVCで、この魅力的なビットの点に注意してください。可変数のMVCルートをどのように処理しますか?

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

私はルートに{*パス情報を}にマップしたいと思います。

ような何か:

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

が、どのように私はmydomain.com/area/foo/bar/rab/oofから変数 "FOO /バー/ RAB/OOF" に渡すのですか?ビット全体を文字列またはコレクションとして渡すことは、私にとってはうまくいくでしょう。

ありがとうございます!

答えて

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) 
{ 
    ... 
} 
+0

おかげでとにかく、パスをキャプチャするあなたの目標を考えると、私はS/Tなどを行うだろう。私はRC2を使用しています。私はこれを試して、あなたに戻ってきます。 –

+0

一度、このパターンがデフォルトルートパターンの前に登録されていることを確認しました(これを試している間は完全に忘れていました!)あなたのソリューションは完璧に機能しました。どうもありがとう。 –

+0

私はそれが助けてうれしいです。 –

関連する問題