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>
  • 相关阅读:
    Win7+CentOS7双系统安装
    python中的 __getattr__ __setattr__ __getitem__ __add__
    对象.函数名 叫方法 和 类.函数名 叫函数
    python中的__str__ __name__ 和__call__方法
    flask中的登录验证 装饰器版 befor_request版
    装饰器
    Django model中的 class Meta 详解
    跨域问题cors
    reids缓存
    python-django目录
  • 原文地址:https://www.cnblogs.com/ybst/p/5028277.html
Copyright © 2011-2022 走看看