【发布时间】:2015-05-11 16:26:11
【问题描述】:
在我的代码中,我使用 log4net 记录异常并结束记录,我想用正确的消息视图更新视图。在我的日志服务更新视图(实际上我的代码确实重定向)我的代码看起来像这样
private readonly HttpContextBase _httpContext;
public void RedirectToError()
{
var httpException = _httpContext.Server.GetLastError();
if (httpException != null && (_httpContext.Server.GetLastError() is HttpException))
{
_httpContext.Server.ClearError();
_httpContext.Response.Redirect("/Error", false);
}
}
但我实际上只想像授权属性一样更新视图结果,我可以像这样更新视图结果
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new ViewResult {ViewName = "NoPermissions"};
}
else
{
// let the base implementation redirect the user
base.HandleUnauthorizedRequest(filterContext);
}
}
但也不像filtercontext,我们如何用httpcontext更新viewresult? 如果没有办法用 httpcontext 做到这一点,我们怎么能做到这一点?
谢谢
【问题讨论】:
-
问题来了?
-
您好,上面的代码没有问题,我只需要更新视图结果而不重定向。就像第二个代码示例一样。
标签: c# asp.net-mvc-4 httpcontext