In questo post conosceremo il Label TagHelper questo TagHelper si occupa di generare una casella di testo di tipo Label.

image

Il Label TagHelper mette a disposizione il seguente attributo:

  • asp-for

Attributo asp-for

L’attributo asp-for è utilizzato per associare la nostra label ad una proprietà del modello (Model) associato.

Per esempio prendiamo in considerazione la classe WebSiteInfoViewModel:

    public class WebSiteInfoViewModel
    {
        [Required]
        public int WebSiteId { get; set; }

        [Required]
        [MaxLength(200)]
        public string Description { get; set; }

        public string LanguageId { get; set; }
        public List<LanguageViewModel> SupportedLanguages { get; set; }

    }
  
Se volessimo associare il nostro TagHelper alla proprietà Description possiamo semplicemente scrivere:
<label asp-for="Description" class="label label-default"></label>
  
Il conseguente codice HTML sarà:
<label class="label label-primary" for="Description">Description</label>
    
Come possiamo notare la differenza tra il codice HTML scritto nel TagHelper e quanto generato corrispondono quasi del tutto Smile

TagHelper VS HtmlHelper

L’utilità e la facilità di utilizzo del TagHelper si apprezza quando confrontiamo la sintassi utilizzata nei relativi HtmlHelper che  sono utilizzati per generare lo stesso HTML:

TagHelper

<label asp-for="Description" class="label label-default"></label>
HtmlHelper
@Html.Label("Description", null, new { @class = "label label-primary"})  
  
Come possiamo vedere il codice scritto utilizzando il TagHelper risulta notevolmente più semplice e leggibile!

Per chi volesse approfondire e/o visualizzare il codice sorgente del TagHelper, può andare direttamente sul repository su GitHub a questo indirizzo:

https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.TagHelpers/LabelTagHelper.cs

Happy Coding Winking smile

Autore:


blog comments powered by Disqus

 

Calendar

<<  May 2017  >>
MonTueWedThuFriSatSun
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar