2012-03-12 22 views
0

は、私はちょうどこのような何かを持っているために、その可能かどうかを疑問に思った:私はAdmin名付けエリアと「編集」という名前のコントローラを持っています。このコントローラ内には、「ブランド」アクションで扱われるハイパーリンクの一覧が表示されるIndex()があります。MVC URLパスの拡張子

したがって、私のURLはこれまでのところです:Admin/Edit/{Brand}Admin/Edit/{Brand}/Create(だけでなく、編集、削除):

私の質問は、例えば持つことが可能であるかどうかです。これはブランドを削除することではなく、そのブランド内で物事を作成することです。

私は私のアプローチは見当違いであってよく、これは、複数のコントローラまたは何ので、私はそれがこのように動作させるための回避策をたいとは思わないに分割されている必要がありそのアプローチ。

答えて

3

あなたがお住まいの地域の登録で、次のルート定義することができます。

context.MapRoute(
    "Admin_default", 
    "Admin/{controller}/{brand}/{action}", 
    new { action = "Index" } 
); 

をそして、あなたはデフォルトルートを持っているこの地域でEdit以外のコントローラを持っていると思った場合、あなたは2つのルートを登録することができますが、あなたが持っているだろう{brand}トークンまたはルーティングエンジンの制約を定義するためにブランドとコントローラのアクション名との間に明確にすることはできません。

+0

これは '管理/編集/ {ブランド}'のための私の既存の 'MapRoute'下に行くべきだとの答えに入れて、そのおそらく価値があります。 – ediblecode

+0

P.最小時間が経過すると受け入れられるとマークします。 – ediblecode