3
A
回答
4
标签助手的出现有几个原因。 Scott Hanselman talks in length about them here.但是,Tag Helpers的要点包括:
前端开发人员不需要C#知识来编写它们。
以下对于传统的前端开发人员来说确实不是很直观。
@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" />
你甚至可以自己编写。
我不打算深入这里,但是您可以创建服务器端扩展小部件,甚至可以匹配您的客户端框架以实现SEO目的。有一个相当不错的tutorial for making tag helpers。
0
恕我直言,最大的原因是它使你的标记更清洁;看起来不像服务器端代码,更像HTML5。
相关问题
- 1. MVC3标签助手
- 2. 获取所有的孩子标签助手在父标签助手Asp.Net核心
- 3. Rails图像标签助手
- 4. Handlebars助手和Ember Handlebars助手之间有什么区别?
- 5. HTML助手与HTML助手内
- 6. MVC标签助手不工作
- 7. 注册车手助手与节点什么也没有
- 8. HTML助手类
- 9. 什么是助手类和脚本?
- 10. 助手与C#类?什么时候用什么
- 11. 助手内呼叫助手
- 12. 助手类没有从View
- 13. 棱镜CompositeEvent不与助手类指定
- 14. 为什么Play Framework表单助手使用'Extra'标签?
- 15. 为什么我的嵌套text_area助手添加html标签?
- 16. 在这个select标签助手中,为什么.push?
- 17. c#:IsNullableType助手类?
- 18. Android DB助手类
- 19. Swift助手类ViewController
- 20. PHP Form助手类
- 21. sharedPreference from助手类
- 22. 类助手和XE2
- 23. 与助手克隆
- 24. ASP.NET Core Mvc:标签助手`asp-for-model`?
- 25. MVC Html助手使标签可编辑
- 26. codeigniter cookie助手结合会话助手
- 27. 把手助手返回标记
- 28. 在Asp.Net core 1.0中需要帮助标签助手(Visual Studio 2015)
- 29. 在标签助手上拥有ViewContext属性的目的是什么?
- 30. 扩展方法与助手类
如果需要,前端开发人员可以学习一点C#。没有开发者应该害怕学习。您可以编写自己的Razor语法并添加到自己的属性中。我认为真正的原因是因为它使你的标记看起来像标记而不是黑客。 – Phil