我是ASP.NET MVC的新手。我无法清楚地理解
之间的区别强类型视图与普通视图对比部分视图与动态类型视图
在Asp.NET MVC中。有人形容我这个词。
提前致谢!!!
答案 0 :(得分:6)
强类型视图
绑定到视图模型的视图。例如,如果您有以下视图模型:
public class MyViewModel
{
public string SomeProperty { get; set; }
}
由控制器操作传递给视图:
public ActionResult Index()
{
var model = new MyViewModel();
model.SomeProperty = "some property value";
return View(model);
}
强类型视图将在顶部指向此视图模型的@model
指令:
@model MyViewModel
...
<div>@Model.SomeProperty</div>
部分视图
视图和局部视图之间的区别在于,局部视图仅包含一些可以在普通视图的多个部分中重用的小HTML片段。例如,您可以定义以下部分视图:
@model AddressViewModel
<div>Street: @Model.Street</div>
<div>Country: @Model.Country</div>
然后在主视图中的多个位置渲染此局部视图,以避免反复重复相同的代码:
@model MainViewModel
...
<h3>Personal address</h3>
<div>@Html.Partial("_Address.cshtml", Model.PersonalAddress)</div>
...
<h3>Business address</h3>
<div>@Html.Partial("_Address.cshtml", Model.BusinessAddress)</div>
动态类型视图
没有模型的视图或使用弱类型结构的模型,例如ViewBag
。例如,您可以使用控制器操作在ViewBag
中设置一些属性:
public ActionResult Index()
{
ViewBag["SomeProperty"] = "some property value";
return View();
}
以及您可以使用ViewBag中的相同密钥访问此属性的相应视图:
<div>@ViewBag["SomeProperty"]</div>