【问题标题】:How to access viewModel in controller如何在控制器中访问 viewModel
【发布时间】:2017-04-05 06:55:57
【问题描述】:

我是 MVC 的新手。同一个函数如何访问Service层的两个Model,然后在Controller中调用。

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

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

示例:[Name, email] 属于 user model,[Address, State] 属于 Address Model。

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    例如:

    模型视图示例

    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" })
    

    【讨论】:

    • 太棒了,我正在寻找类似的功能。我遵循几乎相同的事情,除了我在将它添加到数据库时犯了一个错误,我试图使用相同的视图模型来插入。我将按照您的程序检查这是否符合我的要求。
    猜你喜欢
    • 2016-02-02
    • 2019-08-23
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 2017-09-22
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多