我是 MVC3 新手,我的网站有一个设置,如果该网站是打开的。因此,我需要在调用每个操作时检查该值。
这个想法是这样的:
public ActionResult SomeAction()
{
if(!settings.SiteIsOpen)
{
// redirect to siteclosed page
}
// someaction logic...
}
我知道MVC3中有一个叫Filter的东西,需要注册它RegisterGlobalFilters。我想使用此功能,但我不知道实现该功能的详细步骤。
有人可以帮助我吗?谢谢!
最佳答案
您可能必须创建一个自定义操作过滤器并像这样装饰您的操作结果
[CustomActionFilter]
public ActionResult SomeAction()
{
}
在 CustomActionFilter 内部,您必须实现抽象类 ActionFilterAttribute
public class CustomActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// your logic here
}
}
ASP.NET MVC 框架将在调用任何使用操作过滤器属性标记的操作方法之前调用操作过滤器的 OnActionExecuting 方法。
有关更多详细信息,请访问此链接 http://msdn.microsoft.com/en-us/library/dd381609.aspx
关于asp.net-mvc-3 - 我想在 ASP.NET MVC3 中调用每个操作时执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11649644/