问题就是标题本身。我对MVC不熟悉,现在正在自学。请给我一个清晰的答案,适合初学者理解。谢谢。
问题就是标题本身。我对MVC不熟悉,现在正在自学。请给我一个清晰的答案,适合初学者理解。谢谢。
一个部分视图只是一段Html代码,您可以将其保存在单独的文件中,并可在其他视图中重复使用。类似于ASP.NET WebForms中的UserControls。
强类型视图表示它具有与之相关联的ViewModel,控制器将其传递给它,并且该视图中的所有元素都可以使用这些ViewModel属性
您也可以拥有强类型部分视图。意味着Html代码需要特定数据,因此您需要将其类型化到某个ViewModel
下面是一个强类型视图的示例
@model SomeViewModel
...// all the html comes after
没有强类型的视图不会有@model SomeViewModel
这一行。
下面是一个控制器操作的示例,它呈现了一个没有ViewModel的普通视图。
public ActionResult Index() {
return View();
}
public ActionResult Index() {
var model = new SomeViewModel();
return View(model);
}
这个视图使用ViewModel,在文件顶部有@model SomeViewModel
标签。
现在,视图有了ViewModel,就可以显示与ViewModel绑定的元素,例如:
@Html.TextBoxFor(m => m.FirstName)
@Html.CheckBoxFor(m => m.IsAwesome)
<div> footer text here</div>
然后将其包含在任何视图中,无论它是否是强类型的,都可以重复使用Html标签。
@model SomeViewModel
@Html.TextBoxFor(m => m.FirstName)
@Html.CheckBoxFor(m => m.IsAwesome)
{@Html.RenderPartial("MyFooter")}