2012-07-25 56 views
2

我是MVC3的新手,如果站点处于打开状态,我的站点有一个设置。所以,我需要在每个动作被调用时检查这个值。我想在ASP.NET MVC3中调用每个动作时执行代码

的想法是这样的:

public ActionResult SomeAction() 
{ 
    if(!settings.SiteIsOpen) 
    { 
     // redirect to siteclosed page 
    } 
    // someaction logic... 
} 

我知道有一些所谓的MVC3过滤器,并需要注册它RegisterGlobalFilters。我想使用此功能,但我不知道实现该功能的详细步骤。

任何人都可以帮助我吗?谢谢!

+0

也许你可以在[MSDN]启动(http://msdn.microsoft.com/en-us/library/gg416513(V = vs.98))。 .. – nemesv 2012-07-25 12:31:09

回答

1

你可能必须创建一个自定义操作,过滤器和装饰这样

 [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

相关问题