我目前正在使用新的 ASP.NET MVC2 框架开发应用程序。最初我开始在 ASP.NET MVC1 中编写这个应用程序,我基本上只是将它更新到 MVC2。
我的问题是,我并没有真正理解 FormCollection 对象与旧的 Typed 对象的概念。
这是我当前的代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
{
try
{
Member member = new Member();
member.FirstName = collection["FirstName"];
member.LastName = collection["LastName"];
member.Address = collection["Address"];
// ...
return RedirectToAction("Details", new { id = member.id });
}
catch
{
return View("Error");
}
}
这是来自 MVC1 应用程序的代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Member member)
{
try
{
memberRepository.Add(member);
memberRepository.Save();
return RedirectToAction("Details", new { id = member.id });
}
catch
{
}
return View(new MemberFormViewModel(member, memberRepository));
}
在 MVC2 中切换到 FormCollection 有什么好处,更重要的是 - 它是如何正确使用的?