输入模型和视图模型有什么区别?

时间:2019-02-14 01:29:41

标签: c# asp.net

有域模型,视图模型和输入模型。我想知道什么是输入模型。我完全感到困惑,那么这个模型是什么?:

public class User{
    public string Name { get; set; }
    public string Age { get; set; }
}

查看:

    @model EditFormApplication.Models.NewForm

    @using (Html.BeginForm("Index", "Home", FormMethod.Post))
    {
         @Html.TextBoxFor(model => model.Name)
         @Html.TextBoxFor(model => model.Age)
    <input type="submit" value="Save">
    }

2 个答案:

答案 0 :(得分:2)

视图模型是传递给视图的内容。然后将其值映射到视图以供用户查看。

输入模型是用于收集用户输入的模型,并被发布回服务器,通常映射到其等效的视图模型

域模型通常是代表其所属的相应数据存储的模型。


以您为例。 html表单将在回发时将结果映射到Input模型User

因此我们可以在这两行上看到

     @Html.TextBoxFor(model => model.Name)
     @Html.TextBoxFor(model => model.Age)

这将创建一个包含两个文本框的表单,第一个对应于User模型的Name,第二个对应于Age

答案 1 :(得分:0)

Data flow in and out of presentation layers

视图模型通常填充表示层。任何从表示层出来并触发后端的数据都可以视为输入模型。在大多数情况下,它们通常是一致的。

域模型是您应用程序域的核心模型。他们模仿领域的现实世界对象。它们包含业务逻辑。根据DDD,您可以将它们分为实体和值对象。在设计任何应用程序时,保持域模型不可或缺的关键是关键。它通常是业务域的概念模型。