我正在研究 ASP.net MVC 。在这里,M 仅代表“型号”。可以映射到数据库的模型。
通常,我将我的 View 与 Model 强烈绑定。
但是,最近我听说 View Model 与 Model 不同。
ViewModel 是MVC
或MVVM
(ModelViewViewModel) 的一部分吗?
ViewModel 和 Model 之间的基本区别是什么。我想举一个小例子来说明我在 MVC 中的工作方式:
我的观点:
<% using (Ajax.BeginForm("TestAjax", "Reviewer", new AjaxOptions { OnSuccess = "Callback", OnFailure = "Failed" }))
{ %>
<table align="center">
<tr>
<td class="tdCol1Align">
<label>
Number1</label>
</td>
<td class="tdCol2Align">
<%=Html.TextBoxFor(Model => Model.number1)%>
</td>
</tr>
<tr>
<td class="tdCol1Align">
<label>
Number2</label>
</td>
<td class="tdCol2Align">
<%=Html.TextBoxFor(Model => Model.number2)%>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Add" class="button" />
</td>
</tr>
</table>
<%
}
%>
我的模型:
public class AddModel
{
public int number1
{
get;
set;
}
public int number2
{
get;
set;
}
}
最后是我的控制器:
[HttpPost]
public JsonResult TestAjax(AddModel model)
{
int iSum = model.number1 + model.number2;
return Json(new { Sum = iSum });
}
而已 。我无法理解这是在哪里ViewModel
出现的图片
请澄清以下内容:
1.ViewModel和Model的基本区别
2.View Model 是 MVC 还是 MVVM 架构的一部分?
如果使用 ViewModels,如何实现上述示例?
如果视图模型是 MVC 的一部分,那么它们将在应用程序的文件夹结构中的什么位置?