代码之家  ›  专栏  ›  技术社区  ›  stepanian

访问ASP.NET MVC操作参数

  •  3
  • stepanian  · 技术社区  · 16 年前

    这一定很简单,但我好像想不出来。我正在操作筛选器中设置操作参数,如下所示:

    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();
          }
     }
    

    }

    如何在action方法中访问myparam?

    2 回复  |  直到 15 年前
        1
  •  3
  •   LukLed    16 年前

    也许你可以用:

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

    你可以用 [MyFilter] 或者只有一个动作。

        2
  •  0
  •   Cody Gray Felix    15 年前

    我希望这能奏效:

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

    自从 ValueProvider 是modelbinder用来获取值的,我认为它应该能够获取过滤器中设置的值。