这一定很简单,但我似乎无法弄明白。我在动作过滤器中设置了一个动作参数,如下所示:
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?
答案 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
是模型人用来获取值的原因,我认为它应该能够在过滤器中设置值。