ASP.Net MVC 6引入了Tag助手功能。
为什么我们应该使用先前版本提供的Helper类的标记助手?
答案 0 :(得分:4)
Tag Helpers的推出有几个原因。 Scott Hanselman talks in length about them here.但是,Tag Helpers的要点包括:
对于传统的前端开发人员来说,以下内容实际上并不是非常直观。
@Html.LabelFor(m => m.Title, new { @class = "control-label" })
@Html.TextBoxFor(m => m.Title, new { @class = "form-control" })
但是,使用标记帮助程序会更清楚:
<label asp-for="Title" class="control-label" />
<input asp-for="Title" class="form-control" />
请注意,这是我检查过的最新情况,包括是否使用asp-
前缀。
class
,placeholder
,甚至是其他自定义属性。我在我的项目中使用angular.js;为此,语法变得更加混乱:
@Html.TextBoxFor(m => m.Title, new { @class = "form-control", ng_model = "ctrl.title" })
现在它就像添加属性一样简单,就像我们期望的那样:
<input asp-for="Title" class="form-control" ng-model="ctrl.title" />
我不打算深入讨论,但您可以创建服务器端扩展小部件,甚至可以匹配您的客户端框架以用于搜索引擎优化目的。这是一个相当不错的tutorial for making tag helpers。
答案 1 :(得分:0)
答案 2 :(得分:0)
许多开发人员认为Tag Helpers与HTML Helpers类似。从某种意义上说,很多HTML帮助器具有与之等效的Tag Helper,但是在某些方面有所不同。
希望我回答了你的问题。如果您还想了解Tag Helpers and View Components和学习how to use built-in ASP.NET Core Tag Helpers之间的区别,可以阅读我的Developer Guide to Tag Helpers