Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    • Cache além do básico: por que LRU e TTL precisam andar juntos
    • Quando usar arquitetura modular — e quando não usar
    • Mais de 200 livros de programação gratuitos em português
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»C#»Criação de TagHelpers customizadas no com ASP.NET Core 2.0

    Criação de TagHelpers customizadas no com ASP.NET Core 2.0

    Jhonathan SoaresBy Jhonathan Soares16 de abril de 20182 Mins Read C#
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    As TagHelpers são classes escritas em C #, mas são anexadas a elementos HTML para executar o código do lado do servidor a partir da View Razor. Em outras palavras, a View criada em HTML tem sua lógica de apresentação definida em C#, que é executada no servidor.

    Então, como vamos usar o Tag Helpers?

    Para usar os Helpers de Tag internos ou personalizados, é necessário primeiro referenciar a biblioteca do TagHelper denominada Microsoft.AspNetCore.Mvc.TagHelpers. Também pode ser via Nuget. Uma vez referenciado, importe-o usando a diretiva @AddTagHelper como mostrado abaixo dentro de _ViewImports.cshtml,

    @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 
         

     

    Um TagHelper é qualquer classe que implementa a interface ITagHelper. No entanto, quando criamos um Taghelper cusmotizado, você geralmente deriva de TagHelper, o que fornece acesso ao método Process.

    Criando assistentes de tag personalizados

    Agora temos uma ideia básica do que é o TagHelper, então que tal criar nosso próprio? Vou pegar um cenário muito simples, no qual vamos introduzir uma tag simples chamada ‘Appreciate’, que pegará o valor como nome de uma pessoa e será exibida na tela.

    Crie uma nova classe chamada AppreciateTagHelper e adicione o código como mostrado abaixo:

         public class AppreciateTagHelper: TagHelper {  
            private  
            const string appreciationText = "Olá";  
            public string PersonName {  
                get;  
                set;  
            }  
            public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) {  
                output.TagName = "Appreciation";  
                string message = $ "{appreciationText}, {PersonName}";  
                var attribute = new TagHelperAttribute(name: "Label", value: message);  
                output.Attributes.Add(attribute);  
                output.Content.SetContent(message);  
            }  
        }  
    

     

    Em seguida, importe o recém-criado Tag Helper e isso pode ser feito adicionando uma linha no arquivo _ViewImports.cshtml como mostrado abaixo,

     @using AspNetCoreTagHelpers
    @using AspNetCoreTagHelpers.Models
    @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
    @addTagHelper AspNetCoreTagHelpers.Helper.AppreciateTagHelper, AspNetCoreTagHelpers
    

     

    A última é atualizar a respectiva view e o código para isso é:

         <appreciate person-name="Código Simples"></appreciate>  
    

     

    Com isto você deverá agora ter tudo funcionando!  Você pode ter acesso ao código fonte aqui.

    Um grande abraço!

     

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read

    Entendendo o ObjectId no MongoDB

    C# NoSql 25 de maio de 20246 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    Categorias
    • Arquitetura (30)
      • Microsserviços (3)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (93)
      • NoSql (60)
      • Sql (38)
    • Boas práticas (34)
      • Gestão & Produtividade (4)
      • Metodologias Ágeis (6)
    • Cursos (53)
    • Dicas (108)
    • Front-End (92)
    • IA (6)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Código Simples no Facebook
    Código Simples no Facebook
    • Popular
    • Recente

    1000 livros gratuitos sobre programação!

    12 de fevereiro de 2016

    Google lança versão “invisível” do reCAPTCHA!

    10 de março de 2017

    Mini curso de HTML5 oferecido pela Microsoft

    30 de janeiro de 2014

    O que significa ( !important ) na declaração do CSS ?

    5 de fevereiro de 2014

    Programa para supercompactar arquivos. KGB Archiver.

    6 de fevereiro de 2014

    Clean Code (2ª edição): o que mudou e o que continua valendo

    12 de fevereiro de 2026

    Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha

    4 de fevereiro de 2026

    Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis

    30 de outubro de 2025

    A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia

    30 de outubro de 2025

    Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais

    8 de outubro de 2025
    Nosso Feed
    • RSS - Posts
    Fique por dentro

    Digite seu endereço de email para assinar este blog e receber notificações de novas publicações por email.

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile