0

私はいくつかの国にサービスを提供するウェブサイトを持っています。ユーザーがサイトにアクセスしたら、IPロケーターツールを使用して、ユーザーの出身国を特定します。すべての国が英語を話すので、レンダリングされるビューは同じになりますが、価格は他のいくつかの点と同様に異なります。

私が望むルーティングは次のようなものです:

  • mydomain.com/UK/Pricing
  • mydomain.com/Australia/Pricing
  • mydomain.com/UK/Features/SomeFeature
  • mydomain.com/Australia/Features/SomeFeature

あなたはアイデアを得る...

global.asaxで必要なルーティングを誰かに提供してもらえますか?

次のことを試しましたが、すべての国のビューを作成する必要はありません。

routes.MapRoute(
"Default", 
"{country}/{controller}/{action}/{id}", 
 new { country = "UK", controller = "Home", action = "Index", id = "" }
 );
4

2 に答える 2

2

ルートは十分に適切である必要があります。国の値を取得するには、Actionメソッドに引数を追加するだけです。

public ActionResult Index(int id, string country) {
  // your code here...
}
于 2012-10-24T11:23:27.270 に答える
0

私はあなたも使用できるWebFormsです

string country = Page.RouteData.Values["country"].ToString();

これがMVCでも機能するかどうかはわかりませんが、私はそう思います。

于 2012-10-24T12:05:19.580 に答える