2010-07-26 65 views
2

我有,例如相关的三个数据库表:公司(一个 - 一个)联系(单一个)地址,ASP.NET MVC中的部分视图?

我需要创建一个公司,然后创建公司联系人,然后产生一个地址在接触一页(让用户更容易)。

用户必须立即填写所有的细节并提交,他可以在今天创建公司,然后明天添加联系人,然后在明天之后添加联系人编辑公司的详细信息等等。 。

的方法有很多,但什么是实现这一使用ASP.NET MVC的最佳途径?

感谢

+0

这完全过于主观。 – 2010-07-26 23:51:54

回答

0

恕我直言,最好的办法是为每个表和视图一个PartialView有有每个表的对象作为一个属性

FormViewModel 
    Company company {get;set;} 
    Contact contact {get;set;} 
    address address {get;set;} 

你将一个表格视图模型返回上述模型的视图在控制器return View(FormViewModel);

然后当渲染每次在相应的模型传递部分。

Html.RenderPartial("ContactEntry", Model.contact); 

当您提交表单,你那么做了TryUpdateModel抢值,并开始保存您的数据层。

编辑回应罗伯特

山姆,你想也需要确保数据填充任何字段启用/禁用。例如,你不能有一个接触瓦特/出一个公司第一。

你可以,如果你被解雇了足够的,检查数据,因为它的填充。所以当用户完成激活领域瓦特/出节约优先的形式。你可以用jQuery甚至客户端验证器来做到这一点,你可以在MVC中编写。

+0

工作流程应该比这更多地定义。否则,它会变成[你公司的应用程序](http://noisydecentgraphics.typepad.com/design/images/2008/03/11/yourproduct.jpg)。 – 2010-07-27 00:05:52

+0

启用/禁用数据填写< - 感谢提示。 – Bart 2010-07-27 00:36:35