2013-10-08 141 views
0

我的朋友们,我遇到过我以前没有遇到过的情况。我有一个实体(又名Person),我需要保存。但事情是我有一个人的信息组,我希望要求用户输入多个控制器,这样用户就不必填写一个强烈的形式。他会逐步填写个人信息,学术信息,工作经历信息等表格。我使用的是MVC 4.我必须为每个表单/视图创建一个控制器吗?因为我的实体具有我需要一次坚持的所有属性(顺便说一下,我计划使用ORM,但尚未决定它是NHibernate还是实体框架)。谢谢。实体在多个步骤中的持久性(ASP.NET MVC 4)

回答

0

您不需要为每个视图创建一个新的控制器。这实际上不是你想要做的。听起来你可能来自WebForms,这需要为每个表单提供一个不同的页面。

MVC不能像这样工作。只需简单地为每个页面创建一个新的操作和视图。

至于持久化数据,有很多方法可以做到这一点。您可以使用会话数据,或者更优选使用数据库(模型)来存储数据。您可以使用诸如ADO.NET/Entity Framework之类的东西来帮助解决这个问题,这样您就不必混淆脏数据库的细节。

+0

gotcha!非常感谢你的“光”=) –

0

您可能会发现它有用实例化这个人实体,并保留在ViewBag或任何其他(全局变量),你更喜欢使用部分填充数据。 这种方式,你设计的任何设计,无论是单个控制器,如果可能的话,或多个。您只需要从viewbag中获取数据并将其保存到数据库中即可。

它也可以让你在表单中轻松浏览和数据可以通过使用viewbag进行填充。

+0

我想过视图袋要么...我只是通过控制器和行动的责任的概念混淆......现在it1s都清楚..感谢快速回答=) –

+0

是我的荣幸,先生。是的,你可以有这种情况。 – Tauseef