2012-12-26 48 views
0

我已經使用jQuery $.ajax調用獲取mvc3中的部分視圖。同時,我使用sessionfilter來檢查會話超時。一旦會話超時,它將返回到登錄頁面,但登錄頁面顯示在部分頁面div內,而不是重定向到整個頁面。我在global.ascx頁面上嘗試了下面的代碼來修復它,但它不起作用。它引發以下錯誤:下面無法在MCV3中發送HTTP標頭之後重定向

at System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent) 
at System.Web.HttpResponseWrapper.Redirect(String url, Boolean endResponse) 
at TransFlow.SessionExpireFilterAttribute.OnAuthorizationHelp(ActionExecutingContext filterContext) in D:\LocalSVN\INTELLAFLO\5_Source\branches\balasubramanian\TransFlow\TransFlow\Global.asax.cs:line 131 
at TransFlow.SessionExpireFilterAttribute.OnActionExecuting(ActionExecutingContext filterContext) in D:\LocalSVN\INTELLAFLO\5_Source\branches\balasubramanian\TransFlow\TransFlow\Global.asax.cs:line 120 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) 
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) 
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) 
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) 
at System.Web.Mvc.Controller.ExecuteCore() 
at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) 
at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) 
at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5() 
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0() 
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) 
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() 
at System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d() 
at System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) 
at System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) 
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) 
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) 
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

回答

0

唯一的例外是給你需要從動作過濾器或控制器進行重定向,而不是直接寫入響應。這將避免您看到的頁面佈局問題。

相關問題