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