ASP.NET Core – Partial View
前言
之前写过一篇 ASP.NET Core – View Component 里面有提到, View Component 是 Partial View 的加强版.
多了一个 .cs 可以写逻辑. 那如果我们不需要那么复杂就可以使用简化版的 Partial View 了.
重点
1. 一个 View .cshtml, 一个 View Model .cs
2. 用 Tag Helper 或者 IHtmlHelper 调用
3. view name 查找 view file 路径
Create View (.cshtml) and ViewModel (.cs)
files

微软的命名规范开始会有下划线, 但我没有 follow
内容

.cshtml 里面不可以用 @page 哦.
调用
Index.cshtml
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
var viewModel = new HelloWorldPartialViewModel
{
Value = "Value"
};
} <partial name="HelloWorldPartial" model="@viewModel" />
<partial name="/Pages/HelloWorldPartial.cshtml" model="@viewModel" />
@await Html.PartialAsync("HelloWorldPartial", viewModel)
@await Html.PartialAsync("/Pages/HelloWorldPartial.cshtml", viewModel)
1. Tag Helper <partial> 调用, 使用 View Name
2. Tag Helper <partial> 调用, 使用 View Path
3. IHtmlHelper PartialAsync 调用, 使用 View Name
4. IHtmlHelper PartialAsync 调用, 使用 View Path
我推荐使用第 2 个方式.
View Name 查找 View File

上面 5 个是查找路线.
1. same folder
2. ancestor's folders (祖先 folder 都可以)
3. root /Shared 里面
4. root /Pages/Shared 里面
5. root Views/Shared 里面
我一向不鼓励依赖 ASP.NET Core 的这种潜规则查找的. 通常不符合正常的开发 folder structure.
以 View Component 的比较
我个人倾向于统一使用 View Component 就够了. 不要用 Partial View.
View Component 在调用上比 Partial View 直观, 可以通过 atrribute 拆分 parameters
Partial View 只能传一个 View Model 对象. 写起来很丑.
View Component 唯一的缺点就是一定要有一个 .cs 而且需要把 parameters mapping to View Model (很繁琐的代码), 这个扣分.
但我觉得无伤大雅, 毕竟是封装起来的. 重点是对消费者友好才加多分.
ASP.NET Core – Partial View的更多相关文章
- .net core partial view的一些心得
原文:.net core partial view的一些心得 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog. ...
- asp.net core mvc View Component 应用
ViewComponent 1.View 组件介绍 在ASP.NET CORE MVC中,View组件有点类似于partial views,但是他们更强大,View组件不能使用model bindin ...
- AspNet MVC4 教学-22:Asp.Net MVC4 Partial View 技术高速应用Demo
A.创建Basic类型的MVC项目. B.Model文件夹下,创建文件: LoginModel.cs: using System; using System.Collections.Generic; ...
- [转] asp.net core Introducing View Components
本文转自:http://www.c-sharpcorner.com/uploadfile/8c19e8/asp-net-5-getting-started-with-asp-net-mvc-6/ In ...
- ASP.NET Core 2 学习笔记(十)视图
ASP.NET Core MVC中的Views是负责网页显示,将数据一并渲染至UI包含HTML.CSS等.并能痛过Razor语法在*.cshtml中写渲染画面的程序逻辑.本篇将介绍ASP.NET Co ...
- ASP.NET Core 中文文档 第四章 MVC(3.7 )局部视图(partial)
原文:Partial Views 作者:Steve Smith 翻译:张海龙(jiechen).刘怡(AlexLEWIS) 校对:许登洋(Seay).何镇汐.魏美娟(初见) ASP.NET Core ...
- [ASP.NET MVC 小牛之路]12 - Section、Partial View 和 Child Action
概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在应用程序运行的时候动态创建的内容.给View添加动态内容的方式可归纳为下面几种: Inline cod ...
- 创建ASP.NET Core MVC应用程序(1)-添加Controller和View
创建ASP.NET Core MVC应用程序(1)-添加Controller和View 参考文档:Getting started with ASP.NET Core MVC and Visual St ...
- ASP.NET Core开发-MVC 使用dotnet 命令创建Controller和View
使用dotnet 命令在ASP.NET Core MVC 中创建Controller和View,之前讲解过使用yo 来创建Controller和View. 下面来了解dotnet 命令来创建Contr ...
- [转][ASP.NET MVC 小牛之路]12 - Section、Partial View 和 Child Action
本文转自:http://www.cnblogs.com/willick/p/3410855.html 概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在 ...
随机推荐
- Javascript克隆数据
JS 复制数据 1 浅复制 具体方法 // 数组 Array.prototype.slice // 普通对象 Object.assign 思考 2 深复制 1) function deepClone( ...
- Linux自己制作rpm包
制作rpm包 由源码包---->rpm包 安装制作rpm包工具包rpm-build 在制作过程中需要源码包和配置文件 rpmbuild制作rpm包的原理: 1.首先rpmbuild会先将源码包进 ...
- vue小知识:多层数据双向相应之向上派发和向下派发($dispatch和$broadcast)
注意:这两个实例已经在vue3中弃用啦!!!(所以不详细说了,封装知道怎么用就行了,作为了解) 都是在vue实例配置(main.js) 向上派发:$dispatch 注意,在相应后代组件中使用 thi ...
- .NET 高性能缓冲队列实现 BufferQueue
目录 前言 适用场景 功能说明 使用示例 BufferQueue 内部设计概述 Topic 的隔离 Partition 的设计 对并发的支持 Partition 的动态扩容 Segment 的回收机制 ...
- Python学习的个人笔记
python基础知识 目录: Python基础语法: (1)打印出hello world (2)注释 (3)数据类型 (4)运算 (5)输入 (6)输出 (7)序列 (8)相等比较 (9)选择 (10 ...
- NVIDIA人形机器人AI套件:NVIDIA Isaac Manipulator 和 NVIDIA Isaac Perceptor
IsaacManipulator 为机械臂提供了卓越的灵活性和模块化AI功能,并提供了一系列强大的基础模型和GPU加速库.它提供了高达80倍的路径规划加速,零样本感知提高了效率和吞吐量,使开发者能够实 ...
- ubuntu 配置NTP时间服务器&&定时同步本地时间
Ubuntu系统: NTP时间服务器的安装: 服务器安装命令: sudo apt-get install ntp NTP服务配置,设置为本地时间服务器,屏蔽默认server,服务器层级设为10: vi ...
- MindSpore 建立神经网络
代码原地址: https://www.mindspore.cn/tutorial/zh-CN/r1.2/model.html 建立神经网络: import mindspore.nn as nn cla ...
- 最小二乘法的矩阵正则化改进——“岭回归”和“LASSO回归”算法
看代码过程中发现了一个很奇怪的概念,叫做"最小二乘法的矩阵正则化",这个词汇十分的陌生,虽然最小二乘法是知道的,但是用了矩阵正则化的最小二乘法是个什么东西呢? 相关代码见: 强化学 ...
- 【转载】 机器学习的高维数据可视化技术(t-SNE 介绍) 外文博客原文:How t-SNE works and Dimensionality Reduction
原文地址: https://www.displayr.com/using-t-sne-to-visualize-data-before-prediction/ 该文是网上传的比较多的一个 t-SNE ...