HTML Helpers
HTML Helpers in ASP.NET Core 5 provide a way to create HTML elements programmatically in your views. They are often used to generate HTML markup in a less error-prone manner compared to writing raw HTML. For example, you can use the Html.TextBox HTML Helper to create an input field.Example
@Html.TextBox("username", "Enter your username")
Standard HTML Helpers
Standard HTML Helpers are a set of built-in HTML Helpers that help generate various HTML elements. One example is the Html.ActionLink Helper for creating hyperlinks.Example
@Html.ActionLink("Home", "Index", "Home")
Strongly Typed HTML Helpers
Strongly Typed HTML Helpers are used to create HTML elements for model properties with compile-time type checking. For example, the Html.TextBoxFor Helper generates an input field for a specific model property.Example
@Html.TextBoxFor(model => model.UserName)
Templated HTML Helpers
Templated HTML Helpers allow customizing the rendering of HTML elements based on templates. They are useful for more advanced scenarios where you want to have control over the generated HTML. For example, the Html.DisplayFor Helper can be used to render a model property with a custom display template.Example
@Html.DisplayFor(model => model.Description, "CustomTemplate")
Built-In Tag Helpers
Tag Helpers in ASP.NET Core 5 are a way to create HTML elements by using HTML-like syntax within Razor views.Anchor Tag Helper
The Anchor Tag Helper simplifies the creation of hyperlinks in your views.Example
<a asp-controller="Home" asp-action="Index">Home</a>
Cache Tag Helper
The Cache Tag Helper allows you to cache the content within a block.Example
<cache expires-after="10" vary-by-user="true">
<!-- Cached content goes here -->
</cache>
Distributed Cache Tag Helper
The Distributed Cache Tag Helper is used to cache content in a distributed cache like Redis.Example
<distributed-cache cache-key="myCacheKey" cache-sliding-expiration="00:30:00">
<!-- Cached content goes here -->
</distributed-cache>
Environment Tag Helper
The Environment Tag Helper conditionally renders content based on the hosting environment.Example
<environment names="Development">
<!-- Content for Development environment -->
</environment>
Form Tag Helper
The Form Tag Helper simplifies the creation of HTML forms and helps with anti-forgery token generation.Example
<form asp-controller="Account" asp-action="Login" method="post">
<!-- Form controls go here -->
</form>
Image Tag Helper
The Image Tag Helper generates an HTML img tag for displaying images.Example
<img asp-append-version="true" src="~/images/myimage.jpg" alt="My Image">
Input Tag Helper
The Input Tag Helper simplifies the creation of HTML input elements.Example
<input asp-for="UserName" />
Label Tag Helper
The Label Tag Helper generates labels for form elements, improving accessibility.Example
<label asp-for="UserName"></label>
<input asp-for="UserName" />
Select Tag Helper
The Select Tag Helper is used to create dropdown lists for selecting values.Example
<select asp-for="CountryId" asp-items="Model.CountryList"></select>
Text Area Tag Helpers
The Text Area Tag Helper is used to create textarea elements.Example
<textarea asp-for="Description"></textarea>
Validation Message Tag Helper
The Validation Message Tag Helper displays validation error messages for model properties.Example
<span asp-validation-for="UserName" class="text-danger"></span>
Validation Summary Tag Helper
The Validation Summary Tag Helper displays a summary of validation errors for the entire model.Example
<div asp-validation-summary="All" class="text-danger"></div>
Custom Tag Helpers
Custom Tag Helpers allow you to create your own custom tag helpers for generating HTML elements with custom logic. These are especially useful when you need to encapsulate complex view logic or reuse UI components.Example
<my-custom-tag attr1="value" attr2="value"></my-custom-tag>