今天和大家分享一下Asp.net core中为什么需要使用TagHelper.
asp.net core为我们提供了TagHelper,让我们在html标签中可以指定控制器、方法、以及参数等等,比如下面一行代码:
<a class="navbar-brand" asp-controller="Home" asp-action="Index" >WebApplication1</a>
上面代码运行后,会产生一个a标签。熟悉razor的小伙伴可能会问,为什么我们不直接写href属性,而需要使用TagHelper定义,其实在复杂项目中,我们有各种路由规则,假设我们路由规则是:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "test/{controller=Home}/{action=Index}/{id?}");
});
那么在我们使用TagHelper后 会自动生成href=”test/Home/Index”。 所以TagHelper为我们提供了规范。在修改路由规则后,不需要修改依赖于路由规则的地方。