你如何获得的对象参数,其操作方法是在运行时调用,成就一番以下ASP.NET MVC 3:如何获取参数动作方法被调用?
的效果public ActionResult Index(Int32? x, Int32? y, DateTime? z, NumberStyles n) {
this.RouteData.Values["x"] = x
this.RouteData.Values["y"] = y
this.RouteData.Values["z"] = z
this.RouteData.Values["n"] = n
return View();
}
现在看来似乎应该是一个可能的名称和值没有这种繁琐的代码的每个参数。
有时你可以通过查看RouteData来获取调用action方法的参数,但情况并非总是如此,特别是如果action方法是通过ajax请求调用的,那么参数可能不会显示出来在RouteData中,而是显示在Request Params中。
我在找什么,是一种通用的方式来获取运行时在动作方法签名中定义的每个参数,并获取参数的实际对象,运行时值,而不仅仅是一个字符串。更进一步说,不论操作方法如何被调用,它都可以工作,不管它可能是ChildActionExtensions.Action或ajax回调的结果。
RouteData和Request Params似乎没有我正在寻找的东西。
这让我感兴趣,但是,我也在等别人说你做错了。如果可能,我会对更多的代码感兴趣。 –
@Valamas也是如此。现在在框架的第三个版本中,这个问题还没有被问到,这有点令人惊讶。如果有人不能真正回答这个问题,那么他们的答案会变成“为什么你需要...”? –