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