ASP.net MVC6 Tag Helpers生成无效标记?

时间:2016-01-26 01:05:30

标签: asp.net asp.net-mvc html5 razor tag-helpers

请考虑以下事项:

<link asp-fallback-href="~/vendor/lightbox2/css/lightbox.min.css"
      asp-fallback-test-class="lightbox"
      asp-fallback-test-property="position"
      asp-fallback-test-value="absolute"
      href="https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.8.2/css/lightbox.min.css"
      rel="stylesheet" />

以下元标记由asp:

生成
<meta name="x-stylesheet-fallback-test" class="lightbox" />

如果我尝试使用HTML5验证器对此进行验证,则会收到以下错误:

Validator.nu(Public):元素“meta”缺少以下一个或多个属性:“content”,“property”。

无论如何我可以解决这个问题,还是应该向asp小组报告?

更新

我已将此作为issue提交给asp.net团队。

1 个答案:

答案 0 :(得分:3)

根据the issue that details the requirements

,它似乎是设计的
  

通过注入具有指定类名(<meta>属性)的伪asp-fallback-test-class标记然后测试该元素的计算样式以查看指定的CSS属性({ {1}}属性)等于指定值(asp-fallback-test-property)。

The HTML 5.1 spec (警告:大文件)有如下说法:

  

必须指定asp-fallback-test-valuenamehttp-equivcharset属性中的一个。

     

如果指定了itempropnamehttp-equiv,则还必须指定itemprop属性。否则,必须省略。

所以这似乎是一个错误。正如您在提交的错误报告中所注意到的那样,RC2的问题has been fixed