Asp.net mvc 什么';这是MVC中的一个模型。我是否应该将其理解为视图在其中包含的数据方面的反映?
所以,模型应该被认为是视图在数据方面的反映。例如,联系人表单的模型是:姓名、电子邮件地址、网站名称和描述?这在概念上正确吗 谢谢Asp.net mvc 什么';这是MVC中的一个模型。我是否应该将其理解为视图在其中包含的数据方面的反映?,asp.net-mvc,model-view-controller,Asp.net Mvc,Model View Controller,所以,模型应该被认为是视图在数据方面的反映。例如,联系人表单的模型是:姓名、电子邮件地址、网站名称和描述?这在概念上正确吗 谢谢 V.是的,这是模型的一种情况。模型也可以是业务域规则 发件人: 该模型管理应用程序域的行为和数据, 响应有关其状态的信息请求(通常来自 视图),并响应更改状态的指示(通常从 控制器)。在事件驱动系统中,模型通知观察者 (通常是视图)当信息发生变化以便他们能够做出反应时 您所解释的基本上是一个视图模型:一个为一个视图定制的模型。但是模型的定义是将信息发送到数据库、执行业
V.是的,这是模型的一种情况。模型也可以是业务域规则 发件人: 该模型管理应用程序域的行为和数据, 响应有关其状态的信息请求(通常来自 视图),并响应更改状态的指示(通常从 控制器)。在事件驱动系统中,模型通知观察者 (通常是视图)当信息发生变化以便他们能够做出反应时
您所解释的基本上是一个视图模型:一个为一个视图定制的模型。但是模型的定义是将信息发送到数据库、执行业务功能的对象,并且只是应用程序的域的表示。一般来说,是。有时这很乏味,但“视图”模型与视图的比例为1:1时效果很好,可以将关注点分开
public class ContactFormViewModel
{
public string Name { get; set; }
public string Email { get; set; }
public string WebsiteName { get; set; }
}
如果要使用Visual Studio的(假设MVC版本3和Razor语法)内置支架生成继承此视图模型的视图,它将如下所示:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>ContactFormViewModel</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
...
@使用(Html.BeginForm()){
@Html.ValidationSummary(true)
ContactFormViewModel
@LabelFor(model=>model.Name)
@EditorFor(model=>model.Name)
@Html.ValidationMessageFor(model=>model.Name)
...
这给了你一些东西:
- 一点CSS样式(同样,只是默认的模板)
- 验证
- 1型号在联系人表单逻辑更改时进行修改 是的 在MVC应用程序中查看模型有两种方法。这两种方法有很多重叠,但不一定相同
- 视图模型--包含要在视图中创建、删除、编辑或显示的数据模型
- 实体模型--包含数据源中的数据集模型,该数据集将在视图中创建、删除、编辑或显示