Asp.net core 学习笔记 ( ViewComponent 组件 )
refer : https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-components
core 和 Angular 的 component 是不同的.
core 的 component 只是对 partial view 的升级而已.
从前 partial view 只是一个 view 的封装, component 则是 controller + view 的封装
所以方便一些.
首先定义一个 class 继承 ViewComponent, component 的名字就是 class name, 当然我们也可以改它,
[Area("Web")]
[ViewComponent(Name = "keatkeat")] //修改 name
public class MyHeader : ViewComponent
{
private DB db { get; set; } public MyHeader(
DB db
)
{
this.db = db;
} public Task<IViewComponentResult> InvokeAsync(string value) //调用时可以传参哦, 好像不支持 optional and default value /.\
{
var vm = new ViewModel
{
name = value
};
return Task.FromResult<IViewComponentResult>(View(vm));
}
}
调用
@addTagHelper *, Project @{ var value = "keatkeat87"; }
@await Component.InvokeAsync("keatkeat",value)
@await Component.InvokeAsync(nameof(Project.Web.ViewComponents.MyHeader.MyHeader),value)
<vc:keatkeat value="@value" ></vc:keatkeat>
上面有 3 种调用的方式
第一种是写入 component 名字
第二种是通过 nameof 找到 class, 如果你修改了名字, 那么这个调用是会坏掉的哦.
第三种是通过 element 模式 (需要在 _ViewImports.cshtml 添加 @addTagHelper *, Project, Project 是我项目的名字, 直接放整个项目 assembly 就可以了)
ViewComponent 的模板和一般的 controller 查找不同, 一般的 controller View name 是 Index.cshtml
而 ViewComponent 则是 Components/ComponentName/Default.cshtml
Asp.net core 学习笔记 ( ViewComponent 组件 )的更多相关文章
- Asp.Net Core学习笔记:入门篇
Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项 ...
- .net core学习笔记,组件篇:服务的注册与发现(Consul)初篇
1.什么是服务注册中心? 在学习服务注册与发现时,我们要先搞明白到底什么是服务注册与发现. 在这里我举一个生活中非常普遍的例子——网购来简单说明,网购在我们日常生活中已经是非常普遍了,其实网购中的(商 ...
- ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...
- Asp.net Core学习笔记
之前记在github上的,现在搬运过来 变化还是很大的,感觉和Nodejs有点类似,比如中间件的使用 ,努力学习ing... 优点 不依赖IIS 开源和跨平台 中间件支持 性能优化 无所不在的依赖注入 ...
- ASP.NET Core 学习笔记 第二篇 依赖注入
前言 ASP.NET Core 应用在启动过程中会依赖各种组件提供服务,而这些组件会以接口的形式标准化,这些组件这就是我们所说的服务,ASP.NET Core框架建立在一个底层的依赖注入框架之上,它使 ...
- ASP.NET Core 学习笔记 第三篇 依赖注入框架的使用
前言 首先感谢小可爱门的支持,写了这个系列的第二篇后,得到了好多人的鼓励,也更加坚定我把这个系列写完的决心,也能更好的督促自己的学习,分享自己的学习成果.还记得上篇文章中最后提及到,假如服务越来越多怎 ...
- ASP.NET Core 学习笔记 第四篇 ASP.NET Core 中的配置
前言 说道配置文件,基本大多数软件为了扩展性.灵活性都会涉及到配置文件,比如之前常见的app.config和web.config.然后再说.NET Core,很多都发生了变化.总体的来说技术在进步,新 ...
- ASP.NET Core 学习笔记 第五篇 ASP.NET Core 中的选项
前言 还记得上一篇文章中所说的配置吗?本篇文章算是上一篇的延续吧.在 .NET Core 中读取配置文件大多数会为配置选项绑定一个POCO(Plain Old CLR Object)对象,并通过依赖注 ...
- Asp.net core 学习笔记 ( Data protection )
参考 : http://www.cnblogs.com/xishuai/p/aspnet-5-identity-part-one.html http://cnblogs.com/xishuai/p/a ...
随机推荐
- Springboot项目修改html后不需要重启---springboot项目的热部署
一.spring-boot-devtools 在pom中直接引入依赖 <dependency> <groupId>org.springframework.boot</gr ...
- Android4.0以上版本Http请求的问题
异常:android.os.NetworkOnMainThreadException Android 4.1项目:使用新浪微博分享时报: android.os.NetworkOnMainThreadE ...
- Java1.7 HashMap 实现原理和源码分析
HashMap 源码分析是面试中常考的一项,下面一篇文章讲得很好,特地转载过来. 本文转自:https://www.cnblogs.com/chengxiao/p/6059914.html 参考博客: ...
- IDEA安装与破解
今天下午偶然在知乎上看到IDEA和eclipse的软件分析,所以装了一个IDEA,不过肯定是破解,不会购买激活码 IDEA官网:http://www.jetbrains.com/idea/ 安装教程: ...
- 设置Eclipse具有字母自动联想
Window->Preferences->Java->Editor->ContentAssist(内容助手)里面的Enable auto activation里面第二行再加上a ...
- 清理本地Maven仓库
目录 1.清理target 2.清理该项目依赖的本地仓库中的maven包 3.清理maven本地仓库中下载失败的包 参考: 1.清理target mvn clean -U 2.清理该项目依赖的本地仓库 ...
- SSM项目开发中的实体定义以及MySQL表格设计
话不多说,下面表格是项目开发中用到的实体集以及表格Name 实体创建 表格创建 Area 区域 Area 实体 areaId areaName priority createTime last ...
- python 之 文件I/0
打开和关闭文件 open()函数 必须要open()内置函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. 语法 file object=open(file_name [,acc ...
- 题解——P1108低价购买(DP)
第一问是最长下降子序列,n很小,n^2可过,注意最长下降子序列的枚举顺序即可 ;i<=n;i++)//不要写错 ;j<i;j++)//不要打成<= ) b[i]=b[j]+; 第二问 ...
- entity framework浅谈
1. 什么是EF 微软提供的ORM工具. ORM让开发人员节省数据库访问代码的时间. 将更多的时间放在业务逻辑层面上. 开发人员使用linq语言, 对数据库进行操作. 2. EF的使用场景 EF有三种 ...