我的 ASP.NET MVC 应用程序是一个更大的 ColdFusion 应用程序的一小部分,该应用程序很快就会被完全替换。我通过 cookies 从 ColdFusion 部分传递一些参数,并且需要在运行每个操作之前检查此信息。如果信息丢失,我需要重定向到父站点。放置此功能的最佳位置是什么以及如何统一调用它?
目前,我已经实现了一个基本控制器,在每个操作方法中,我从基本控制器调用一个方法,并根据返回结果重定向或继续操作。这种方法似乎有效,但它使我的行动方法变得混乱,并且与行动没有直接关系。我如何将其分离出来,是否有我可以利用的控制器生命周期事件?
如果您已经实现了基本控制器,只需覆盖它OnActionExecuting()
method:
public class YourBaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
if(somethingIsWrong)
{
filterContext.Result = new RedirectToRouteResult(
new System.Web.Routing.RouteValueDictionary { ... });
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)