1

IIS6でMVCを有効にするために2つのカスタム拡張機能を設定しました。

したがって、サイトには次のようなURLでアクセスできます...

mysite/mycontroller.europe/myaction

またはのように...

mysite/mycontroller.america/myaction

RequestContextインスタンスから拡張機能を見つける最も堅牢な方法は何ですか?

だから私は次のようなものを書けるようになりたいです...

var location = reqContext.......GetExtenstion(); // location = "europe"

そして明らかに、サイト/ディレクトリの設定が少し変わっても、それは機能します。

4

2 に答える 2

2

ルートを定義します。

routes.MapRoute(
    "DefaultWithExtension",
    "{controller}.{extension}/{action}",
    new { controller = "Home", action = "Index", extension = "america" }
);

その後:

var extension = RequestContext.RouteData.GetRequiredString("extension");
于 2011-05-19T06:36:55.917 に答える
0

また、拡張機能をコントローラーに関連するすべてのアクションの文字列パラメーターとして定義することもできます。その場合、拡張機能を直接使用できます。例えば

public ActionResult myaction(string extension)

これには、上記で定義したmapRouteエントリが引き続き必要です。

于 2014-07-02T01:35:21.963 に答える