繁体   English   中英

强类型视图与普通视图与Asp.NET MVC中的部分视图

[英]Strongly Typed view vs Normal View vs Partial View in Asp.NET MVC

我是ASP.NET MVC的新手。 我无法清楚地理解它们之间的区别

强类型视图与普通视图与部分视图与动态类型视图相比

在Asp.NET MVC中。 有人形容我这个词。

提前致谢!!!

强类型视图

绑定到视图模型的视图。 例如,如果您有以下视图模型:

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM