mvc ajax訪問後臺時session過期無法跳轉到Login頁面問題解決
阿新 • • 發佈:2018-05-25
題解 AI web iso null ida color span 解決
public class BaseController : Controller { protected User UserInfo { set { Session["UserInfo"] = value; } get { if (Session["UserInfo"] == null) { return null; } else { return (User)Session["UserInfo"]; } } } protected override void OnActionExecuting(ActionExecutingContext filterContext) { //驗證碼 if (filterContext.ActionDescriptor.ActionName.Equals("ValidateCode", StringComparison.CurrentCultureIgnoreCase)) { return; } #region Session判斷 if (UserInfo==null && !filterContext.ActionDescriptor.ActionName.Contains("Login")) { filterContext.Result = //new RedirectResult("/Home/Login");//這樣也可以 new RedirectToRouteResult( new System.Web.Routing.RouteValueDictionary { { "controller", "Home" }, { "action", "Login" } }); //Response.Redirect("/Home/Login");//不建議這個,它會繼續往下執行action return; } #endregion base.OnActionExecuting(filterContext); } }
前臺解決嵌套iframe問題(針對ActionResult返回頁面有效,用ajax請求無效)
<script type="text/javascript">
$(function () {
//判斷一下當前是不是做頂層,如果不是,則做一下頂層頁面重定向
if (window != top) {
top.location.href = location.href;
}
});
</script>
針對ajax請求,使用以上方式,ajax請求是沒有變化的,ajax返回的狀態碼302,而Login返回狀態碼200,理論是顯示的,但是
mvc ajax訪問後臺時session過期無法跳轉到Login頁面問題解決