访问ASP.NET MVC操作参数

时间:2010-03-06 05:52:30

标签: asp.net-mvc

这一定很简单,但我似乎无法弄明白。我在动作过滤器中设置了一个动作参数,如下所示:

public class MyFilter : ActionFilterAttribute
{
    public override void OnActionExecuting (ActionExecutingContext filterContext)
    {
        filterContext.ActionParameters["MyParam"] = "MyValue";
    }
}

我将过滤器应用于整个控制器,如下所示:

 [MyFilter]
 public class HomeController : Controller
 {
      public ActionResult Index()
      {
           // How do I access MyParam here?
           return View();
      }
 }

}

如何在操作方法中访问MyParam?

2 个答案:

答案 0 :(得分:3)

也许你可以使用:

[MyFilter]
public ActionResult Index(string MyParam)
{
       //Do something with MyParam           
       return View();
}

您可以使用[MyFilter]或仅一个操作来装饰整个控制器。

答案 1 :(得分:0)

我希望这会奏效:

var myParam = ValueProvider.GetValue("MyParam").RawValue as string;

由于ValueProvider是模型人用来获取值的原因,我认为它应该能够在过滤器中设置值。