我目前正在用新的ASP.NET MVC2框架开发一个应用程序。最初我开始在ASP.NET MVC1中编写这个应用程序,我基本上只是将它更新到MVC2。在ASP.NET MVC2中使用FormCollection的正确方法创建方法?
我的问题在于,我没有真正得到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,更重要的好处 - 怎么回事正确使用?
我看不出来,是旧的模型坏了吗?为什么转换? – mxmissile 2010-01-28 16:05:40
不,它没有坏。它看起来像旧的模型强类型的方法被放弃,因为新的控制器带有FormCollection而不是强类型的对象。 – 2010-01-28 16:12:31