如何从ASP.NET MVC 2的ActionFilter中实现错误重定向?

2026-03-30 13:090阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计485个文字,预计阅读时间需要2分钟。

如何从ASP.NET MVC 2的ActionFilter中实现错误重定向?

从MVC1到MVC2的变化主要包括:

1. 改进了路由系统:MVC2引入了更灵活的路由机制,允许更细粒度的控制。

2.支持自定义模型绑定:MVC2允许开发者自定义模型绑定逻辑,以处理复杂的数据传输。

3.更强大的视图引擎:MVC2提供了更多的视图引擎选项,如Razor视图引擎。

如果用户未经过身份验证,以下代码重定向到登录页面不适用于MVC2,并可能导致System.Web.HttpException:在发送HTTP标头后无法重定向错误:

csharp

public class RequiresAuthenticationAttribute : ActionFilterAttribute{ public override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.User.Identity.IsAuthenticated==false) { filterContext.Result=new RedirectResult(~/Account/Login); } }}

此问题可能是由于MVC2的请求管道在发送HTTP标头后不允许重定向导致的。

阅读全文

本文共计485个文字,预计阅读时间需要2分钟。

如何从ASP.NET MVC 2的ActionFilter中实现错误重定向?

从MVC1到MVC2的变化主要包括:

1. 改进了路由系统:MVC2引入了更灵活的路由机制,允许更细粒度的控制。

2.支持自定义模型绑定:MVC2允许开发者自定义模型绑定逻辑,以处理复杂的数据传输。

3.更强大的视图引擎:MVC2提供了更多的视图引擎选项,如Razor视图引擎。

如果用户未经过身份验证,以下代码重定向到登录页面不适用于MVC2,并可能导致System.Web.HttpException:在发送HTTP标头后无法重定向错误:

csharp

public class RequiresAuthenticationAttribute : ActionFilterAttribute{ public override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.User.Identity.IsAuthenticated==false) { filterContext.Result=new RedirectResult(~/Account/Login); } }}

此问题可能是由于MVC2的请求管道在发送HTTP标头后不允许重定向导致的。

阅读全文