2012-03-26 12 views
0

これが可能であるかどうかわかりません。MVC 3ルーティングの問題http://bleh.com/globalString/Controller/action

いくつかの変数を解析され、設定されるように引き出される必要がある「globalString」
http://bleh.com/globalString/Controller/action 

:私は何をしたいのようにURLを持っています。この文字列は基本的にクライアント名です。

その後、通常のコントローラとアクションが実行されます。

新しいMVCアプリケーションを作成するときにデフォルトのルーティングが設定されている場合は、作成したマッピングを削除するか、新しいマッピングをその前後に配置する必要がありますか?

おかげで、

+0

この 'globalString'はどのようにして計算されますか?あなたはクライアント名について何か言及しますが、このクライアント名は何に依存していますか? –

答えて

0

ことが可能です(これを伝えることができるかもしれないとはまだMVCへの私の最初の探査である)、あなたはデフォルトのマッピングルートの前に、このルールを配置する必要があります。ルートエンジンは、追加順序に基づいてルートマップを検索しました。したがって、より具体的なルールを先に進める必要があります。

あなたの/ globalString/Controller /アクションはデフォルトルート/ Controller/action/idと競合しているため、ルートエンジンが/ Controller/action/idルートを入力する方法はありません。ですから、前者にいくつかの制約を加える必要があります。正規表現パターンなど

0

public override RouteData GetRouteData(HttpContextBase httpContext)System.Web.Routing.Routeに上書きすることができます。そこにあなたはルートに関するほとんどすべてを行うことができます。