1

自分の Web サイトに特定の URL ルーティングを設定したい

http://www.MyWebsite?Region=US&Area=South

渡された Region および Area クエリ文字列パラメーターに基づいて、特定のコントローラー アクションにリダイレクトしたいと考えています。

問題:

  1. URL ルーティングとは何ですか?
  2. 特定のアクションにリダイレクトする一般的なコントローラー アクションを作成するかどうかは、ここで機能しますか?

どんな助けでも大歓迎です!!

ありがとう

4

1 に答える 1

0

ルートからすぐにクエリ文字列を実行したい場合は、この方法でルートをグローバルにマップする必要があります。アクション内でコンテキストにアクセスし、そこからクエリ文字列を取得できます。以下は、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){
 }
于 2012-10-04T19:34:34.387 に答える