1

すべてで特定の関数を実行し、必要にActionResult応じて特定の値を返す必要があります。

この関数の名前が。であるとしましょうA()。私はこれを手動で行うことができます:

ActionResult Index() {
     if (...) return A();
     ...
}

ActionResult About() {
     if (...) return A();
}

または、次のInitialize()方法を使用できます。

override void Initialize(RequestContext r) {
    A(); // Can't do a return here
}

しかし、問題は、値が無効であるために値を返すことができないことActionResultです。

これを行う方法はありますか?

4

1 に答える 1

1

これは、アクションフィルターを使用して実行できます。

public class MyActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (...) {
            // modify filterContext as needed
        }
    }
}

[MyActionFilter]次に、コントローラーやアクションに追加できます

于 2011-12-23T03:21:05.087 に答える