<span style="font-size:18px;"><strong>Asp.net帶Iframe的頁面跳轉解決方案</strong></span>
void Application_Error(object sender, EventArgs e)
{
//在出現未處理的錯誤時運行的代碼
Response.Redirect("~/Redirect.aspx?page=error");
}
void Session_Start(object sender, EventArgs e)
{
//在新會話啓動時運行的代碼
if (Session["User"] == null)
{
Response.Redirect("~/Redirect.aspx?page=login");
}
}
跳轉的頁面代碼:位於根目錄的global.aspx代碼如上所示。
下面是位於根目錄下的Redirect.aspx中的代碼:
protected void Page_Load(object sender, EventArgs e)
{
string req = Request["page"].ToString();
switch(req)
{
case "error":
Response.Write("<script>window.parent.location.href='error.aspx';</script>");
break;
case "login":
Response.Write("<script>window.parent.location.href='login.aspx';</script>");
break;
}
}
主要解決的是使用iframe框架後,再次使用asp.net跳轉,無法跳出iframe的問題。使用這種方案能夠很好的實現跳轉。