使用Visual Studio 2013或2015(任何版本)并使用以.asp
或.aspx
结尾的文件时,它将始终显示警告Empty elements such as 'input' must end with />.
即使我更改时也会发生这种情况编辑器的doctype,从HTML5到HTML 4.01。我相信编辑会进入HTML(Web窗体)'打开这些文件时的模式。
使用.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(Web窗体)具有“标记特定选项”窗口,但即使在&#39;输入&#39;上设置结束标记也是如此。到没有结束标记&#39;问题仍然存在。
答案 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;中反汇编编辑器。我认为没有其他调查方向。遗憾的是,我还没有在网上的其他地方看到过这种情况。