标记助手 - 自我关闭HTML标签是一个坏习惯吗?

时间:2016-09-14 09:16:12

标签: html asp.net-core-mvc tag-helpers

我在我的MVC vNext项目中加入了TagHelpers,我意识到当我自己关闭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>

我想知道的是,它有什么不同?并且,自我关闭配对标签是一个坏习惯。如果你知道一些谈论这个设计原则的文章,请与我分享,我们将不胜感激。

1 个答案:

答案 0 :(得分:4)

它们不起作用的原因是因为&#34; MVC标记助手不会改变元素是否自动关闭&#34; (来自问题#4475中的评论)。

这是ASP.NET中的一个已知问题,计划是在具有结束标记的非void元素的情况下在VS IDE中显示警告(请参阅问题#398)。其中一位ASP.NET开发人员在问题#1302中评论说:

  

&#34;这是当前的设计,但我们对行为有一些问题(开放和封闭)&#34;

相关问题