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