我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ASP.NETCoreMVC中的局部视图用法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ASP.NETCoreMVC中的局部视图用法

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<ArticleSection>();
        }
        public string AuthorName { get; set; }
        public List<ArticleSection> 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";
}

<h2>@Model.AuthorName</h2>
@Html.Partial("AuthorPartial",Model.AuthorName);

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

AuthorPartial.cshtml:

@model string

<h3>@Model</h3>

ArticleSection.cshtml:

@model MVCTest.Models.ArticleSection

<h3>@Model.Title</h3>
<h2>@Model.Content</h2>

到此这篇关于ASP.NET Core MVC局部视图的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ASP.NETCoreMVC中的局部视图用法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

[两种方法]Win10内部隐藏的全局程序视图如何启用?

你一般怎么看自己在Windows 10上已经编程客栈安装了那些应用程序?想必多数人的第一反应就是瞄向左下角的开始按钮。当然,这是最符合常识和逻辑的,然而这并不是最有效率和最好的办法。 之所以这么说,一是因为开始菜单并不能完全展现你系统里装的
2023-05-20

电脑局部截图的方法有哪些

电脑局部截图的方法有以下几种:1. 使用系统自带的截图工具:Windows操作系统中,可以使用“Win + Shift + S”快捷键打开截图工具,通过拖拽方式选取截图区域。2. 使用截图软件:可以下载第三方的截图软件,如Snagit、Gr
2023-09-07

cad布局视口不显示图形的解决方法

这篇文章主要介绍cad布局视口不显示图形的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!cad布局视口不显示图形的解决方法:首先打开软件,在模型窗口打开工程图;然后在命令行中输入“Z”,并按Enter键确认;
2023-06-14

oracle中视图的作用

oracle 中的视图是一种虚拟表,提供对数据的不同视角。其主要作用包括:数据抽象、数据安全、数据转换、数据整合和性能优化。优点包括:不占用存储空间、保持数据一致性、提高性能、增强安全性和简化数据访问。缺点是:可能影响查询性能、不支持数据更
oracle中视图的作用
2024-05-09

Django中创建视图的方法

这篇文章主要介绍Django中创建视图的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文教程操作环境:windows7系统、django2.1,DELL G3电脑。1、概念django的view可以是方法,也可
2023-06-14

PL/SQL中的视图与物化视图怎么应用

在PL/SQL中,视图和物化视图是用来简化和优化查询的工具。视图是一个虚拟表,可以像普通表一样被查询,但实际上并不存储任何数据,而是通过查询实时生成数据。物化视图则是一个存储在数据库中的表,存储了查询结果,并定期更新以保持数据的最新性。要
PL/SQL中的视图与物化视图怎么应用
2024-05-08

MySQL中的视图有哪些语法

这篇文章主要讲解了“MySQL中的视图有哪些语法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL中的视图有哪些语法”吧!视图是什么视图View是一种虚拟的表,本身不保存数据,内部封装
2023-06-02

mysql中的视图用处大吗

mysql 视图是一种基于查询创建的虚拟表,具有以下优势:数据抽象和安全:隐藏基础表结构,提供数据子集视图。数据整合:连接多个基础表,形成统一虚拟表。提高查询性能:预先计算查询结果,提升性能。简化应用程序开发:提供一致数据视图,减轻开发负担
mysql中的视图用处大吗
2024-05-01

MyBatis视图在Docker容器化部署中的优化策略

在Docker容器化部署中,MyBatis视图的优化策略主要集中在提高性能、安全性和资源利用率上。以下是一些关键策略:优化MyBatis视图性能批量操作优化:使用MyBatis-Plus的saveBatch方法进行批量插入,可以有效提高性
MyBatis视图在Docker容器化部署中的优化策略
2024-10-14

局部变量在Oracle中的使用技巧

在Oracle中,局部变量通常是在存储过程或函数中使用的。它们可以帮助简化代码逻辑,提高代码的可读性和可维护性。以下是一些使用局部变量的技巧:声明局部变量:在存储过程或函数中,可以使用DECLARE语句声明局部变量。例如:DECLAREv_
局部变量在Oracle中的使用技巧
2024-08-23

ASP.NET Core MVC中的视图怎么用

本篇内容介绍了“ASP.NET Core MVC中的视图怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ASP.NET Core MVC
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录