2

私はMVC3を初めて使用しますが、私のサイトには、サイトが開いている場合に設定されています。したがって、すべてのアクションが呼び出されるときにこの値を確認する必要があります。

アイデアは次のようなものです。

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

MVC3にはFilterと呼ばれるものがあることを知っているので、RegisterGlobalFiltersを登録する必要があります。この機能を使用したいのですが、それを実装するための詳細な手順がわかりません。

誰か助けてもらえますか?ありがとう!

4

2 に答える 2

2

おそらく、カスタム アクション フィルターを作成し、アクションの結果を次のように装飾する必要がありました。

     [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

于 2012-07-25T12:48:28.693 に答える
1

ActionFilterAttributeを見てください。それはあなたが行きたいところから始めるはずです。リクエストのどこにアクションを適用するかを判断する必要があります。

于 2012-07-25T12:28:10.753 に答える