我有一些示例代码,其中控制器中Create action menthod的签名如下所示:
[HttpPost]
public ActionResult Create(JobCardViewData viewData)
我刚刚创建了一个新的MVC应用程序,相同的签名如下所示:
[HttpPost]
public ActionResult Create(FormCollection collection)
我更愿意知道如何实现我的操作方法,如顶部示例,或者至少如何从FormCollection转换为业务对象,而不会像使用Reflection那样低级。
答案 0 :(得分:2)
我个人避免使用FormCollection
,因为它是magic strings的集合。我建议你总是使用这个签名:
[HttpPost]
public ActionResult Create(JobCardViewData viewData)
并让模型绑定器完成将请求参数解析为强类型对象的工作(您不需要求助于反射或做任何事情)。