南通seo网站价格,珠海网站建设公司,app下载平台有哪些,湘潭做网站公司进步#xff0c;才是人应该有的现象。—— 雨果 今天开始#xff0c;我就来说说asp.net core的新特性#xff0c;今天就说说TagHelper标签助手。虽然学习.net#xff0c;最有帮助的就是microsoft的官方说明文档了#xff0c;里面把一些使用说明都写的非常清楚#xff0c;…进步才是人应该有的现象。—— 雨果 今天开始我就来说说asp.net core的新特性今天就说说TagHelper标签助手。虽然学习.net最有帮助的就是microsoft的官方说明文档了里面把一些使用说明都写的非常清楚但奈何.net core放入文档微软还没来得及翻译对于英文不好的人来说简直就是看的艰辛。所以今天就来学习学习这标签助手和博客园大佬分享分享经验。 想看Microsoft官方文档和Git项目的可以直接点击以下传送门~~ asp.net core 官方文档 asp.net core github项目 说起TagHelper给我的印象有点像asp.net form当中的服务器端控件又有点像Angular或者Vue当中的“组件”的后端实现版本。用户可以将一组html标签集合转换为一个自定义标签实现了html代码的复用。 那么正文开始~~ 首先我们需要安装一个vs2017插件Razor Language Services。这个插件能在html中智能提示用户自定义的标签助手。 https://marketplace.visualstudio.com/items?itemNamems-madsk.RazorLanguageServices 创建一个asp.net core项目 使用微软定义的标签助手在安装了插件后使用标签助手的标签会进行高亮显示 上图中environment、link、a标签均使用了标签助手实现各自的功能
a asp-area asp-controllerHome asp-actionIndex classnavbar-brandtaghelpersample/a a标签中通过使用asp-controller,asp-action自定义属性来实现路由访问。 这时有人会说我也可以使用Html类来实现相同功能为什么需要使用TagHelper
Html.ActionLink(taghelpersample, Index, Home,null, new { Class navbar-brand }) 确实使用Html帮助类我们能实现相同的功能但是使用标签助手的方式不是更加符合html的标签语法吗对于强迫症程序员简直就是福音~~。而且对于标签的原有属性的添加例如class标签助手的使用也更加方便。
!--标签助手版form--form asp-controllerHome asp-actionIndex classform-horizontal methodpost/form!--Html帮助类版form--using (Html.BeginForm(Index, Home, FormMethod.Post,, new { Class form-horizontal }))
{} 此外标签助手的另外一个特色就是可以自定义具体步骤如下 1创建派生自TagHelper类的Class //类会默认转换为text-collection/text-collection public class TextCollectionTagHelper:TagHelper{ public override void Process(TagHelperContext context, TagHelperOutput output){ base.Process(context, output);}} 2设置属性与基本类
public string Color { get; set; } public override void Process(TagHelperContext context, TagHelperOutput output){output.TagName div;output.Attributes.Add(style, color: Color); var text Hello,World; var h1 new TagBuilder(h1); var h2 new TagBuilder(h2); var h3 new TagBuilder(h3); var h4 new TagBuilder(h4); var h5 new TagBuilder(h5); var h6 new TagBuilder(h6);h1.InnerHtml.Append(text);h2.InnerHtml.Append(text);h3.InnerHtml.Append(text);h4.InnerHtml.Append(text);h5.InnerHtml.Append(text);h6.InnerHtml.Append(text);output.Content.AppendHtml(h1);output.Content.AppendHtml(h2);output.Content.AppendHtml(h3);output.Content.AppendHtml(h4);output.Content.AppendHtml(h5);output.Content.AppendHtml(h6);} 3在_ViewImports.cshtml导入类命名空间
addTagHelper *,taghelpersample 4在cshtml中使用标签助手
text-collection colorred/text-collectiontext-collection colorblue/text-collectiontext-collection color#666/text-collection 5调试效果 OK今天关于TagHelper就分享到这
原文地址http://www.cnblogs.com/billming/p/7136047.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注