2017-04-04 83 views
0

我是MVC的新手。如何访问服务层中的两个模型以获得相同的功能,然后在Controller中调用它。如何访问控制器中的viewModel

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

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

示例:[姓名,电子邮件]属于用户模型,[地址,州]属于地址模型。

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

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

如何使这成为可能。希望应该有办法做到这一点。因为我不想让我的用户模型拥有很多属性。

回答

0

您可以创建视图模型并合并两个模型。

例如:

型号ViewExample

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

,并使用视图模型控制器上。

[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" }) 
+0

真棒,我一直在寻找类似的功能。我几乎同样的事情,除了我把它添加到数据库中犯了一个错误,我试图使用相同的视图模型插入。我会按照你的程序,并检查这是否按我的要求工作。 – Marshall

+0

这个作品谢谢你 – Marshall