繁体   English   中英

ASP.NET MVC中的局部视图?

[英]partial views in ASP.NET MVC?

我有三个相关的数据库表,例如:company(one-one)Contact(one-one)Address,

我需要创建一个公司,然后为该公司创建联系人,然后在一个页面中创建联系人地址(以使用户更轻松)。

用户确实必须立即填写所有详细信息并提交,他今天可以创建公司,然后明天添加联系人,然后明天再编辑公司详细信息等。这些操作是用户随机选择的...

有很多方法,但是使用ASP.NET MVC实现此目标的最佳方法是什么?

谢谢

恕我直言,最好的方法是为每个表都有一个PartialView,并且让View具有一个将每个表对象都作为属性的表单视图模型

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

您可以将上面的模型返回到控制器的return View(FormViewModel);

然后,当渲染每个部分时,您将传递适当的模型。

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

提交表单时,您可以执行TryUpdateModel来获取值并开始保存到数据层。

编辑回应罗伯特

Sam,您还需要确保在填写数据时启用/禁用这两个字段。例如,您不能先没有公司的联系人。

如果激发得足够多,您可以检查数据是否已填写。因此,当用户完成表单时,您将激活字段而无需先保存。 您可以使用jQuery甚至可以使用MVC编写的客户端验证器来执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM