.NET Core自定義TagHelper

代碼:

using Microsoft.AspNetCore.Razor.TagHelpers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace NetCoreTestMVC2.Commons
{
    //public class EmailTagHelper : TagHelper
    //{
    //  示例1:<email mail-to="[email protected]"></email>
    //  public string MailTo { get; set; }
    //  public override void Process(TagHelperContext context, TagHelperOutput output)
    //  {
    //      output.TagName = "a";
    //      output.Attributes.SetAttribute("href",$"mailto:{MailTo}");
    //      output.Content.SetContent(MailTo);
    //  }

    //  示例2:<email>[email protected]</email>
    //  public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
    //  {
    //      output.TagName = "a";
    //      var content = await output.GetChildContentAsync();
    //      var target = content.GetContent();
    //      output.Attributes.SetAttribute("href", $"mailto:{target}");
    //      output.Content.SetContent(target);
    //  }
    //}

    //[HtmlTargetElement(Attributes = "bold")]
    //[HtmlTargetElement("bold")]
    //public class BoldTagHelper : TagHelper
    //{
    //    //示例:<p bold>xxx</p> 或者 <bold>xxx</bold> 
    //    public override void Process(TagHelperContext context, TagHelperOutput output)
    //    {
    //        output.Attributes.RemoveAll("bold");
    //        output.PreContent.SetHtmlContent("<strong>");
    //        output.PostContent.SetHtmlContent("</strong>");
    //    }
    //}

    /// <summary>
    /// 條件 TagHelper
    /// <div condition="_SignInManager.IsSignIn(User)">xxx</div>
    /// 如果 condition 中返回的值是 false 則不會顯示 div
    /// </summary>
    //public class ConditionTagHelper : TagHelper
    //{
    //    public bool Condition { get; set; }
    //    public override void Process(TagHelperContext context, TagHelperOutput output)
    //    {
    //        if (!Condition)
    //        {
    //            output.SuppressOutput();
    //        }
    //    }
    //}

    //前端使用TagHelper前綴,@tagHelperPrefix "tagpre:"
    //TagHelper 前綴,使用在標籤前加上<tagpre:a>xxx</tagpre:a>
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章