自分の Web サイトに特定の URL ルーティングを設定したい
http://www.MyWebsite?Region=US&Area=South
渡された Region および Area クエリ文字列パラメーターに基づいて、特定のコントローラー アクションにリダイレクトしたいと考えています。
問題:
- URL ルーティングとは何ですか?
- 特定のアクションにリダイレクトする一般的なコントローラー アクションを作成するかどうかは、ここで機能しますか?
どんな助けでも大歓迎です!!
ありがとう
自分の Web サイトに特定の URL ルーティングを設定したい
http://www.MyWebsite?Region=US&Area=South
渡された Region および Area クエリ文字列パラメーターに基づいて、特定のコントローラー アクションにリダイレクトしたいと考えています。
問題:
どんな助けでも大歓迎です!!
ありがとう
ルートからすぐにクエリ文字列を実行したい場合は、この方法でルートをグローバルにマップする必要があります。アクション内でコンテキストにアクセスし、そこからクエリ文字列を取得できます。以下は、Twitter スタイルのユーザー名を使用する私の例ですが、考え方は同じです。
routes.MapRoute("UserSettings",
"{username}/settings",
new { controller = "Home", action = "Settings", username = "" },
new { username = new NotNullOrEmptyConstraint() }
);
public class NotNullOrEmptyConstraint : IRouteConstraint {
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
try
{
return !String.IsNullOrEmpty(values["username"].ToString());
}
catch (Exception)
{
return false;
}
}
}
public ActionResult Settings(string username){
}