Tag Helpers - 自关闭 HTML 标签是个坏习惯? [英] Tag Helpers - Self closing HTML tags is a bad habit?
问题描述
我将 TagHelpers
合并到我的 MVC vNext 项目中,我意识到当我自行关闭 HTML 标签时它们不起作用.
I am incorporating TagHelpers
in my MVC vNext project, and I realized they don't work when I self close the HTML tags.
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
<label asp-for="FirstName"/> <!-- self closing tag -->
<span asp-validation-for="FirstName"/> <!-- self closing tag -->
而且,当我放置结束标签时,我会看到正在显示的值.
And, insteand when I put the closing tags, I see the values being displayed.
<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>
我想知道什么,它有什么不同?而且,自我关闭配对标签是一个坏习惯.如果您知道一些关于此设计原则的文章,请与我分享,不胜感激.
What I want to know, what difference does it make? And, is self closing the paired tags a bad habit. If you know some article which talks about this design principle, please share with me, it would be much appreciated.
推荐答案
它们不起作用的原因是因为MVC 标签助手不会改变元素是否自动关闭"(来自问题中的评论
The reason they do not work is because the "MVC tag helpers do not change whether an element is self-closing or not" (from comments in issue #4475).
这是 ASP.NET 中的一个已知问题,计划是在具有结束标记的非空元素的情况下在 VS IDE 中显示警告(请参阅问题 #398).一位 ASP.NET 开发人员在问题 #1302 中评论说:
It is a known issue in ASP.NET and the plan is to show a warning in VS IDE under the scenario of a non-void element having an end tag (see issue #398). One of ASP.NET developers commented in issue #1302 that:
这是当前的设计,但我们在行为上有一些问题(打开和关闭)"
"this is the current design but we have a few issues (open and closed) on the behaviour"
这篇关于Tag Helpers - 自关闭 HTML 标签是个坏习惯?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!