如何在控制器中访问viewModel

时间:2017-04-04 21:45:19

标签: asp.net-mvc-5 entity-framework-6

我是MVC的新手。如何在服务层中访问同一功能的两个模型,然后在Controller中调用它。

例如,我有一个用户模型和地址模型。

当用户尝试创建记录时,用户将同时在视图中看到用户信息和地址信息。

示例:[Name,email]属于用户模型,[Address,State]属于Address Model。

并且,当用户点击提交时,他将两者保存在不同的表中。

但是用户应该在同一视图中看到所有内容。

如何使这成为可能。希望应该有一些方法来做到这一点。因为我不希望我的用户模型具有很多属性。

1 个答案:

答案 0 :(得分:0)

您可以创建一个viewmodel并统一两个模型。

例如:

模型ViewExample

Usuario objUsuario {get; set;}
Adreess objAdress {get; set;}

并在控制器上使用ViewModel。

[Httpost]
public ActionResult Register(model ViewExample)
{
//here you can save into DB your 2 models contains ViewExample.
}

在您的视图上,按以下方式调用模型:

@Html.TextBoxFor(m => m.objUsuario.name, new { @class = "form-control" })
@Html.TextBoxFor(m => m.objAdress.house_number, new { @class = "form-control" })