【发布时间】:2016-09-14 09:16:11
【问题描述】:
我将TagHelpers 合并到我的 MVC vNext 项目中,我意识到当我自行关闭 HTML 标记时它们不起作用。
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
<label asp-for="FirstName"/> <!-- self closing tag -->
<span asp-validation-for="FirstName"/> <!-- self closing tag -->
而且,当我放置结束标签时,我会看到正在显示的值。
<label asp-for="FirstName"></label>
<span asp-validation-for="FirstName"></span>
生成的 HTML
<label for="FirstName">FirstName</label>
<span class="field-validation-error" data-valmsg-for="FirstName" data-valmsg-replace="true">
<span id="FirstName-error" class="">The FirstName field is required</span>
</span>
我想知道什么,它有什么不同?而且,自我关闭配对标签是一个坏习惯。如果您知道一些关于此设计原则的文章,请与我分享,不胜感激。
【问题讨论】:
-
一般自动关闭是可以的,除非客户端使用非常旧的浏览器。或者你的意思是自动关闭 non-void 元素?
-
引用自关闭
non-void elements:stackoverflow.com/questions/3558119/… -
如果非空元素是指那些可能不包含任何内容的元素,例如输入、img、br 等,那么我不是指那些。我有兴趣了解配对元素,即我的示例中的 2,其中生成的 HTML 将内容放置在 label 和 span 的开始和结束标签内。那么,像这样自行关闭配对标签是否属于严重犯罪行为?
-
非空元素的示例是
div、span、textarea等。这些标签需要有结束标签。 -
...或此处未列出的元素:w3.org/TR/html-markup/syntax.html#void-element
标签: html asp.net-core-mvc tag-helpers