2011-08-20 15 views

答えて

10

それを試してみてください。

コントローラ

protected override void OnActionExecuting(ActionExecutingContext filterContext) 
{ 
    foreach (var filter in filterContext.ActionDescriptor.GetCustomAttributes(typeof (MyAttribute), false).Cast<MyAttribute>()) 
    { 
    var desiredValue = filter.Parameter; 
    } 

    base.OnActionExecuting(filterContext); 
} 

フィルター

public class MyAttribute : FilterAttribute, IActionFilter 
{ 
    private readonly int _parameter; 

    public MyAttribute(int parameter) 
    { 
    _parameter = parameter; 
    } 

    public int Parameter { get { return _parameter; } } 

    public void OnActionExecuted(ActionExecutedContext filterContext) 
    { 
    //throw new NotImplementedException(); 
    } 

    public void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
    //throw new NotImplementedException(); 
    } 
} 
+0

アクションフィルタの詳細については、次の記事を参照してください。https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/understanding-action-filters-cs –

関連する問題