MVC Razor视图抱怨时里面@if

问题描述:

图片说话胜于言:MVC Razor视图抱怨时<img>里面@if

Picture 1picture 2

这是我的Razor视图,有和没有@if声明。

如果我将/添加到<img>标签,如<img/>,错误消失。

任何想法为什么这样做?

悬停在里的错误是Unexpected Token

img的末尾添加闭合/因为这是那么有效自闭合标签

例如

<image alt="..." src="" /> 

该严格性仅适用于代码块内,因为解析器查找完整(闭合)元素。代码块之外它允许任何HTML(无效或其他)。

为了公平地使用Microsoft/Razor,HTML浏览器确实允许使用很多无效的HTML,这些HTML在快速解析器中很难复制。我说关闭您的图片! :)

+0

虽然根据w3c,“”不需要结束标签。 – NibblyPig 2014-10-09 13:53:19

+2

根据MS/Razor它确实:)(如果你将它们排除在外,它也会让JSFiddles感到不安)。解析符合XML的元素更容易。 – 2014-10-09 13:53:38

+0

如果这是真的,你肯定会遇到同样的错误,但没有'@ if'? – NibblyPig 2014-10-09 13:54:25