From Pluralsight/ASP.NET Core 6 Fundamentals
creating a form using tag helpers
ASP.NET Core has built-in Tag Helpers for creating forms:
Formasp-controllerto specify which controller to target on a form’s POST actionasp-actionto specify which action to target on a form’s POST actionasp-route-*to create a route where * can be the name of a parameter we want to specify a value forasp-routeto specify which named route to useasp-antiforgeryto counter cross-site request forgery attacks
InputLabelTextareaSelectValidation
Get the name of the property we want to display via the asp-for attribute on the label tag helper:<label asp-for="FirstName"></label>
…which generates this HTML:
<label for="Firstname">FirstName</label>
form tag helper
The form tag helper enables CSFR attack mitigations by default.
    <!-- trigger the Checkout action on current controller since no other controller specified -->
	<form asp-action="Checkout" 
		 method="post" role="form">
		 <!-- ... -->
	</form>