تگ هلپر با شباهت ظاهری که به تگهای استاندارد HTML دارد کار تولید دلخواه html ما را به عهده دارد.
برای داشتن هر تگهلپری باید کلاس نظیرش ایجاد شود که داخل فولدر TagHelpers قرار میدهیم و از تمپلیتی که دارد شروع به ساخت میکنیم. اگر نام کلاس با TagHelper تمام شود نام قبل از آن بصورت پیشفرض نام تگ میشود.
به output محتوای تگ را اضافه میکنیم:
public class CenterizeTagHelper : TagHelper{ public override void Process(TagHelperContext context, TagHelperOutput output) { output.TagName = "div"; output.TagMode = TagMode.StartTagAndEndTag; output.Attributes.Add("class", "d-flex justify-content-center"); output.Content.SetContent("TAG HELPER CONTENT");} }
جهت استفاده باید addTagHelper را اضافه نمود / کلیه تگهلپرها(*) موجود در فضای نام CookingDatabase:
@addTagHelper *,CookingDatabase
و از این پس میتوان هر جایی از آن استفاده کرد:
<Centerize></Centerize>
که به رنگ بنفش هم مشخص میشود.
اگر بخاهیم روی تگهلپرمون اتریبوت ورودی داشته باشیم باید property تعریف کنیم.
public string Src { get; set; } public object Alt { get; set; } output.Attributes.Add("src", Src); output.Attributes.Add("alt", Alt);
<c-img src="@Model.Image" alt="@Model.Name" />
در موقع استفاده از tag helper، میتوانیم پارامترهای مدنظر را با asp-route-XX قرار دهیم.