zoukankan      html  css  js  c++  java
  • MVC6 (ASP.NET5) 自定义TagHelper

    1) 在 _ViewImports.cshtml 中引入TagHelper类所在的 Assembly . (注意不是namespace)  :

    @addTagHelper "*, WebApplication1"
    

     2) 创建TagHelper类:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Threading.Tasks;
     5 using Microsoft.AspNet.Razor.Runtime.TagHelpers;
     6 using Microsoft.AspNet.Razor.TagHelpers;
     7 
     8 namespace WebApplication1.TagHelpers
     9 {
    10     // You may need to install the Microsoft.AspNet.Razor.Runtime package into your project
    11     [HtmlTargetElement("field")]
    12     public class FieldTagHelper : TagHelper
    13     {
    14         [HtmlAttributeName("label")]
    15         public string Label { get; set; }
    16 
    17         [HtmlAttributeName("cols")]
    18         public int ColumnCount { get; set; }
    19          
    20         public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
    21         {
    22             output.TagName = "div";
    23             output.Attributes.Add("class", "form-group");
    24 
    25             var childContent = await output.GetChildContentAsync();
    26 
    27             output.Content.SetHtmlContent($@" 
    28 <label class='col-md-{ColumnCount} control-label'>{Label}</label>
    29 <div class='form-value col-md-{12 - ColumnCount}'>{childContent.GetContent()}</div>"); 
    30         }
    31     }
    32 }

    3)使用自定义Tag:

    1 <field label="Test Label" cols="4">
    2     <input asp-for="TestName" class="form-control" />
    3 </field>
  • 相关阅读:
    杂记
    asp.net preview 5 bug[转]
    jquery笔记
    北京互联网创业团队诚邀英才加盟
    伊瓜苏大瀑布
    log4net udp组件的应用
    Mock介绍
    自写的BackgroundWorker的学习例子
    RegexBuddy使用例子,及Visual Studio中正则使用的请教
    TestDriven.NET2.14.2190(not RTM) last update at 2008723
  • 原文地址:https://www.cnblogs.com/ybst/p/5028277.html
Copyright © 2011-2022 走看看