千家信息网

ASP.NET Core MVC之局部视图的示例分析

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下ASP.NET Core MVC之局部视图的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.什
千家信息网最后更新 2025年11月08日ASP.NET Core MVC之局部视图的示例分析

小编给大家分享一下ASP.NET Core MVC之局部视图的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1.什么是局部视图

  局部视图是在其他视图中呈现的视图。通过执行局部视图生成的HTML输出呈现在调用视图中。与视图一样,局部视图使用 .cshtml 文件扩展名。当希望在不同视图之间共享网页的可重用部分时,就可以使用局部视图。

2.什么时候使用局部视图

  局部视图是将大视图分成小组件的有效方法。通用的布局元素应在 _Layout.cshtml 中指定,非布局可重用内容可以封装成局部视图。

  如果一个由几个逻辑部分组成的复杂页面,那么将每个逻辑部分作为局部视图是很有用。布局视图与普通视图之间没有语义差别,它们只是以不同的方式呈现。你可以直接从控制器的 ViewResult 返回视图,而这个视图也可以当局部视图来用。视图和局部视图的主要区别是呈现方式不同,局部视图不运行 _ViewStart.cshtml,而视图运行。

3.引用局部视图

  在视图页面中有几种方法呈现局部视图。最简单的是使用 Html.Partial ,它通过 @ 前缀来调用并返回 IHtmlString : @Html.Partial("AuthorPartial")

  PartialAsync 方法对包含异步代码的局部视图是可用的: @await Html.PartialAsync("AuthorPartial")

  还可以使用 RenderPartial 方法来呈现局部视图。这个方法不返回结果:它将渲染结果直接输出到响应中。正因为它不返回响应,所以必须在 Razor 代码块中调用。通用也有一个异步方法 RenderPartialAsync:

@{ Html.RenderPartial("AuthorPartial");}

4.发现局部视图

  当引用局部视图时,可以通过多种方式找到它的位置:

//以视图名使用当前文件夹下的视图,如果没有找到,则搜索Shared 文件夹@Html.Partial("ViewName")//这个名称的视图必须在相同文件夹下@Html.Partial("ViewName.cshtml")//依据应用根路径定位视图,以"/" 或 "~/" 开头的路径表示应用根路径@Html.Partial("~/Views/Folder/ViewName.cshtml")//使用相对路径@Html.Partial("../Account/ViewName.cshtml")

  局部视图可以链接。也就是说,一个局部视图可以调用另一个局部视图(只要不创建循环)。

5.局部视图访问数据

  当局部视图被实例化时,它获取父视图的 ViewData 字典的副本。对局部视图中的数据所做的更新不会影响到父视图。局部视图返回时,局部视图中更改的 ViewData 将丢失。

  你可以将 ViewDataDictionary 的实例传递到局部视图: @Html.Partial("PartialName",customViewData)

  也可以将模型传递到局部视图: @Html.Partial("PartialName",viewModel)

  也可以将ViewDataDictionary 和 模型都传递到视图: @Html.Partial("PartialName",viewModel,customViewData)

6.简单实战

  先创建用到的模型:

namespace MVCTest.Models{ public class Article {      public Article()        {           Sections = new List();        }public string AuthorName { get; set; }  public List Sections { get; set; } } public class ArticleSection {  public string Title { get; set; }  public string Content { get; set; } }}

  然后在控制器中实例化模型:

public class ArticleController : Controller {  // GET: Article  public ActionResult Index()  {   var article = new Article();   article.AuthorName = "test";   article.Sections.Add(new ArticleSection() { Title="title",Content="content"});   return View(article);  } }

  父视图:

@model MVCTest.Models.Article@{ ViewData["Title"] = "Index";}

@Model.AuthorName

@Html.Partial("AuthorPartial",Model.AuthorName);@foreach (var section in @Model.Sections){ @Html.Partial("ArticleSection", section);}

  AuthorPartial.cshtml:

@model string

@Model

  ArticleSection.cshtml:

@model MVCTest.Models.ArticleSection

@Model.Title

@Model.Content

以上是"ASP.NET Core MVC之局部视图的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

视图 局部 方法 文件 模型 路径 不同 内容 实例 布局 文件夹 方式 篇文章 部分 示例 分析 之间 代码 控制器 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器一键恢复是什么意思 一言难尽伴奏软件开发 网络安全建设图标 软件开发工程师是不是很累 ip根服务器 网络安全等级测评师报考方式 网络安全主题的演讲稿 数据库自动化系统的基本原理 数据库备份数据类型 服务器能管理几个网站 冬奥会网络安全保障工作的通知 软件开发需要立项吗 tbc服务器多少人就要排队了 数据库是在计算机系统集合 杭州市网络技术公司 2511服务器无法创建共享关系 数据库中平均成绩怎么表示 软件开发需规模板 关于学校网络安全条幅 锦州启睿网络技术有限公司 服务器拒绝了发送文件是咋了 sql附加数据库出错怎么解 三门峡软件开发参考价 行政大数据库 冬奥会网络安全保障工作的通知 网络安全教育大学毕业论文 网络安全天津招聘 服务器关不关防火墙有啥区别 数据库还原后不成功 黄陂靠谱的软件开发公司
0