後でURLを整理するために応答をリダイレクトするときに取得されるように、URLをセッションに保存しようとしています。これはGlobal.asaxファイルにあります。元の応答を受け取り、セッションにURLを保存しています
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
HttpException httpException = exception as HttpException;
// get the url
var url = Request.RawUrl;
// store in session
Session["requestUrl"] = url;
if (exception is HttpException && ((HttpException)exception).GetHttpCode() == 404) {
Response.Redirect("/CMS/CMS");
}
}
セッションの内容を見るとそこにあります
次に、CMS / CMSアクションでこれを抽出しようとしましたが、変数urlがnullですか??:
public ActionResult CMS(String aspxerrorpath)
{
var url = Session["requestUrl"]; // this is null??
Response.StatusCode = 404;
Response.TrySkipIisCustomErrors = true;
return View();
}
何か案は?