Visual Studio认为空HTML5标记应以ASP

时间:2016-04-19 13:33:47

标签: html5 visual-studio visual-studio-2015

使用Visual Studio 2013或2015(任何版本)并使用以.asp.aspx结尾的文件时,它将始终显示警告Empty elements such as 'input' must end with />.即使我更改时也会发生这种情况编辑器的doctype,从HTML5到HTML 4.01。我相信编辑会进入HTML(Web窗体)'打开这些文件时的模式。

HTML5 screenshot

HTML 4.01 screenshot

使用.html扩展名处理同一文件时,这种情况不会发生,事实上,无论如何,我无法在此模式下更改编辑器的doctype。

任何人都可以找到此问题的解决方法,还是应该将其作为错误报告给MS?

PS。这个问题与Visual Studio uses XHTML tag closing for HTML5 tags不同。

编辑:下面的示例代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Test</title>
</head>
<body>
    <form method="post" action="?" class="form-horizontal">
        <div class="form-group">
            <label class="col-sm-4 control-label" for="test">Test<span class="required-field">*</span></label>
            <div class="col-sm-8">
                <input class="form-control" type="text" maxlength="100" id="test" name="test" size="40" value="1" required>
            </div>
        </div>
    </form>
</body>
</html>

编辑2:在编辑HTML的文本编辑器选项时,有一个名为格式化的子部分允许您选择打开/关闭XHTML编码样式,但是没有这样的HTML设置(Web窗体)。

HTML coding style

此外,HTML(Web窗体)具有“标记特定选项”窗口,但即使在&#39;输入&#39;上设置结束标记也是如此。到没有结束标记&#39;问题仍然存在。

Tag specific options

1 个答案:

答案 0 :(得分:2)

我已经对这个问题进行了一些研究,我的结论是它确实是markup validation中的一个错误。

HTML5并不要求input拥有结束字符,并且确认会发生更改,因为使用XHTML doctype也会显示元标记的警告,而不仅仅是输入。

使用Open With打开aspx文件时,可以看到几个默认编辑器。默认为&#34; Web窗体编辑器&#34;,但可以选择&#34; HTML编辑器&#34; (不推荐,因为它不理解指令)以及&#34; HTML(Web窗体)编辑器&#34;,其中任何一个都可以设置为默认值。

我试图通过改变&#34; C:\ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web Tools \ Schemas \ 1033 \ HTML \ html.xsd&#来改变事物。 34; (寻找vs:description =&#34; 83&#34 ;,输入元素的id)乍一看它似乎只是用于智能感知和自动完成。

我认为input和meta之间的区别在于输入应该是可以成为服务器标记的标记。将它作为普通标签处理可能会成为问题。

除了在&#34; C:\ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web Tools \ Editors \&#34;中反汇编编辑器。我认为没有其他调查方向。遗憾的是,我还没有在网上的其他地方看到过这种情况。