HtmlHelper、TagHelper、局部视图、视图组件
1.HtmlHelper扩展方法:
public static class HtmlHelperEx{public static IHtmlContent Br(this IHtmlHelper helper){return new HtmlString("</Br>");}}
在cshtml中使用@Html.Br();
2.TagHelper组件:
[HtmlTargetElement("Hello")]public class TagHelperTest:TagHelper{public string Name { get; set; }public override void Process(TagHelperContext context, TagHelperOutput output){output.TagName = "div";if(!string.IsNullOrEmpty(Name))output.Attributes.Add("name", Name);output.PreContent.SetContent("");}}
接着在_ViewImports.cshtml中注入,@addTagHelper *, WebApplicationStudy(@addTagHelper 组件名字,项目名字),其中*表示所有;在cshtml中使用<Hello Name="hello"></Hello>;
3. 局部视图,@Html.Partial("视图名字"),第二个参数可以使用model传值,@Html.Partial("视图名字",@model)
4.视图组件
(1)创建类,以ViewComponent结尾,继承ViewComponent类,如下:
[ViewComponent(Name="CustomList")]public class ListViewComponent:ViewComponent{public async Task<IViewComponentResult> InvokeAsync(string name){var result = await GetListPerson(name);return View(result);}private Task<List<Person>> GetListPerson(string name){return Task.Run(() =>{return new List<Person>{new Person{Id=1,Name = name+1,},new Person{Id=2,Name = name+2,},new Person{Id=3,Name = name+3,},new Person{Id=4,Name = name+4,},};});}}public class Person{public int Id { get; set; }public string Name { get; set; }}
如果 [ViewComponent(Name="CustomList")]没有指定,默认是类名除去ViewComponent部分;
(2)创建文件Shared/Components/CustomListDefault.cshtml,因为return View(result)默认找的地址,如果不默认,可以指定,例如:return View("~/Views/Test/Test.cshtml",result);
Shared/Components/CustomListDefault.cshtml代码如下:
@using WebApplicationStudy.Common
@model List<Person>@foreach(var item in Model)
{<p id="@item.Id">@item.Name</p>
}
(3)最后在其它cshtml中使用:
@await Component.InvokeAsync("CustomList",new { name="123kk" })
HtmlHelper、TagHelper、局部视图、视图组件相关推荐
- ASP.NET Core Razor 视图组件
视图组件简介 在新的ASP.NET Core MVC中,视图组件类似于局部视图,但它们更强大.视图组件不使用模型绑定,仅依赖于您在调用时提供的数据. 视图组件特性: 呈现页面响应的某一部分而不是整个响 ...
- 使用视图组件为ASP.NET Core创建侧面菜单
本文是关于为ASP.NET Core创建动态菜单系统. 在开发新的Web应用程序时,我们想要添加一个基于当前路由和参数动态生成的菜单组件. 我最初研究了ASP.NET Core中partials的概念 ...
- ASP.NET Core 中文文档 第四章 MVC(3.9)视图组件
作者: Rick Anderson 翻译: 娄宇(Lyrics) 校对: 高嵩 章节: 介绍视图组件 创建视图组件 调用视图组件 演练:创建一个简单的视图组件 附加的资源 查看或下载示例代码 介绍视图 ...
- ASP.NET Core MVC 之视图组件(View Component)
1.视图组件介绍 视图组件是 ASP.NET Core MVC 的新特性,类似于局部视图,但它更强大.视图组件不使用模型绑定,并且仅依赖于调用它时所提供的数据. 视图组件特点: 呈块状,而不是整个响应 ...
- MarkdownView:Markdown 文档预览视图组件
原文链接:https://github.com/keitaoouchi/MarkdownView MarkdownView:Markdown 文档预览视图组件.# 为开源点赞# -- 由SwiftLa ...
- ScratchCardView:刮刮卡视图组件
原文链接:https://github.com/pgorzelany/ScratchCardView ScratchCardView:刮刮卡视图组件.# 为开源点赞# -- 由SwiftLanguag ...
- .Net Core使用视图组件(ViewComponent)封装表单文本框控件
实例程序的界面效果如下图所示: 在表单中的搜索条件有姓名,学号,成绩.他们在一行中按照水平三等分排列. 在cshtml中用html实现上述表单效果的的代码如下: 1 <form class=&q ...
- php创建view,GitHub - houdunwang/laravel-view: Laravel 视图组件生成器
介绍 根据模型自动生成页面表单,提高网站开发速度. houdunren.com @ 向军大叔 安装组件 安装组件 composer require houdunwang/laravel-view 生成 ...
- 视图组件,路由组件,版本控制
1,视图组件 django中写CBV的时候继承View,rest_framework继承的是APIView,,其实APIView是继承View urlpattEerns = [# url(r'^boo ...
- 基于Tiles框架Struts框架的UI 设计—几种组织HTML和JSP视图组件
摘要每个web应用开发者一定组织视图组件,例如 页首,正文体和页尾. 有许多技术可以组织这些组件, 但每个都有优缺点.这篇文章包括了7个可用的解决方案并让你了解 Tiles框架和Struts框架的灵 ...
最新文章
- Hibernate映射解析——七种映射关系
- FineReport搭建物流报表平台的解决方案
- 高性能服务器架构(一):缓冲策略
- [firefox] Scrapbook Plus的改进版Scrapbook X
- jQuery easyUI--数据表格 datagrid 的使用
- 13-函数的封装和复用
- Linux上搭建Samba,实现windows与Linux文件数据同步
- 牛客题霸 [寻找第K大] C++题解/答案
- 圆平移后的方程变化_平移法解题
- MATLAB2017深度学习工具箱总结
- 软件自动化测试成功之道_是什么使测试自动化成功?
- Linux命令:XZ解压tar.xz后缀的压缩包
- python入门教程pdf-《python基础教程(第3版)》高清版PDF免费下载
- MQ通道搭建以及连通性检查
- megafiers3.14下载
- C:\fakepath 问题
- ABP框架的理解和总结
- 国外android内存清理工具,给大家推荐一个安卓清理神器哈,确实好用
- python 实现otu表水平转化
- 服务器与微信联通,联通微信和钉钉服务