【问题标题】:MVC2 FormCollection optionsMVC2 FormCollection 选项
【发布时间】:2010-07-11 18:01:34
【问题描述】:
我刚刚开始使用 MVC2 并浏览了 NerdDinner 示例。我注意到似乎有多种方法可以传递表单值,例如:
FormColelction formvalues
FormCollection collection
FormCollection form
您为什么要使用其中一个,为什么?
是否也与您是否使用实体框架有关?
【问题讨论】:
标签:
entity-framework
asp.net-mvc-2
formcollection
【解决方案1】:
上述每个示例都传入相同的类型 (FormCollection),但变量名不同。
如果能在 NerdDinner 中看到一些一致性,那就太好了。
您还可以让 MVC 从您的表单中自动填充自定义对象,而不是使用通用的 FormCollection。
EG 如果您发布的表单包含 FirstName、LastName 和 Age(代表一个人)字段,您可以使用类似
的方法
[HttpPost]
public ActionResult Create(Person person)
{
//person is already populated
}
【解决方案2】:
[HttpPost]
public ActionResult Create([Bind(Exclude = "id")]Person post_person)
{
// post_person => auto populate formpost values
// [Bind(Exclude = "id")] => excluding auto populate identity field
}