我目前正在使用新的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有什么好处,更重要的是 – 它是如何正确使用的?
解决方法
你也有v1中的FormCollection对象.但更优选使用类型化对象.所以如果你已经这样做了,那就继续这样做吧.