0

私は、別のルート値を使用して同じ場所に移動する必要があるリンクを作成する必要があります。

からのルート ルールGlobal.asax

routes.MapRoute(
            "News", // Route name
            "{lang}/{controller}/{action}/page-{page}", // URL with parameters
            new { lang = "pl", controller = "News", action = "Index" } // Parameter defaults
        );

私がいるページ

/pl/News/Index/page-6

へのリンクを作成したい

/en/News/Index/page-6

langだから私はパラメータを変更したい。これを行う簡単な方法はありますか?

4

1 に答える 1

0

まず、次のようなものを反映するようにルートを変更する必要があります。

routes.MapRoute("AnyLangRoute", "{lang}/{controller}/{action]/page-{page}", new { controller = "News", action = "Index" });

パラメータ リストから lang プロパティを削除したいが、URL には残しておきたい。

次に、使用したいと思うでしょう

filterContext.RouteData.Values["lang"].ToString()

routeData から {lang} 値を取得します。(注: filterContext は ControllerContext オブジェクトです)。

したがって、次の URL です。

/en/News/Index/page-6

「lang」値は次のとおりです: en

その値を使用して、グローバル フィルターなどを使用してスレッドを適切な言語に変更できます (詳細については、ActionFilterAttributeを参照してください)。

これはすべて記憶から行っていますが、正しい方向に導くことを願っています.

于 2012-06-26T21:42:36.483 に答える