朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら
ASP.NET MVC MVCに移行した後に以前のaspxファイルへのアクセスをリダイレクトする方法





Webフォームから、MVCに移行した時に、以前のaspxファイルへのアクセスが必ずあるかと思うのですが、それの為にaspxファイルを残しておく方法と、新しいMVCのファイルへリダイレクトする方法があるかと思います。
MVCファイルへのリダイレクトには2つの方法で可能であるとわかりました。
一つはaspxのファイルを残し、aspx.csなどのコードのPage_Loadイベントでリダイレクトする。
リダイレクト先のアドレスは.aspxがないということで拡張子を消す処理を入れています。

aspx.csのファイルでのリダイレクト

1
2
3
4
5
6
7
8
9
protected void Page_Load(object sender, EventArgs e)
{
    //現在のリクエストのURLを取得する
    string strMvc = Request.Url.ToString();
    //リダイレクト先のURLに加工する
    string strTemp = strMvc.Replace(".aspx", "");
    //リダイレクトはResponseでする
    Response.Redirect(strTemp);
}

もう一つはGlobal.asaxのApplication_BeginRequestイベントで、HttpContextを使ってリダイレクトします。

Global.asax.cs

1
2
3
4
5
6
7
8
9
10
11
12
protected void Application_BeginRequest(object sender, EventArgs e)
{
    //現在のリクエストのURLを取得する
    string strURL = Request.Url.ToString();
    if (strURL.EndsWith(".aspx"))
    {
        //新しいURLに加工する
        string newURL = strURL.Replace(".aspx", "");
        //リダイレクトする
        HttpContext.Current.Response.Redirect(newURL);
    }
}








良いやや良い普通やや悪い悪い

投稿日時評価コメント