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





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

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

        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

        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);
            }
        }








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

投稿日時評価コメント