VS 2013 MVC 5在单独的行上插入跨距空间

时间:2014-12-11 21:55:45

标签: html asp.net-mvc visual-studio

MVC 5中的Visual Studio 2013(更新4):代码编辑器(在HTML模式下)当它们位于不同的行上时在跨距之间插入空格。即使当跨度最初在一条线上而没有中间空间然后在代码编辑器中被强制插入两行时(或者由于它们在重新格式化时的长度,或者仅仅通过将光标放在它们之间并按下输入),就会发生这种情况。无论块v。智能选项卡和制表符v。空格的四种可能组合如何,都会发生这种情况。

此代码:

        <span id="someid">text</span><span id="someotherid">, optional text</span>
        <span id="newsomeid">, even more text</span>
        <span id="newsomeotherid">, some more optional text</span>

在IE 11,Firefox,Chrome和Opera中生成此文本:

&#34;文字,可选文字,更多文字,更多可选文字&#34;

注意第二个和第三个&#34;文本&#34;之后的空格。除了确保代码保持在一行,因此没有重新格式化之外,还有办法解决这个问题吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

这不是视觉工作室问题,也不是mvc问题。使用Internet Explorer中的文本文件中的标准HTML会发生这种情况。

事实是,你的跨度之间有空格......这是一个换行符。 HTML渲染器将所有空格视为单个“空格”,包括制表符,换行符等。这只是一个问题,因为你用空格分隔两个元素,这在渲染树中创建了一个新的文本元素(你可以通过在开发人员工具中查看它来看。

这是“按设计”,你唯一的解决方案是将span元素放在一起,没有任何插入的空格,包括换行符。