让我们来sEncodedHref代表一个HttpUtility.HtmlAttributeEncode(..)'d字符串.
生成的html之间是否有任何功能差异,如下所示:
String.Format(@"<span class='blue' src='{0}'>", sEncodedHref);
Run Code Online (Sandbox Code Playgroud)
与生成的HTML这样:
String.Format(@"<span class=""blue"" src=""{0}"">", sEncodedHref);
Run Code Online (Sandbox Code Playgroud)
我一直认为单引号变体既不受支持也不太"安全",但我无法提供支持该论点的理由.
没有功能差异.在SGML和HMTL上引用W3C:
默认情况下,SGML要求使用双引号(ASCII十进制34)或单引号(ASCII十进制39)分隔所有属性值.当值由双引号分隔时,单引号可以包含在属性值中,反之亦然.
...
在某些情况下,作者可以指定没有任何引号的属性值.属性值可能只包含字母(az和AZ),数字(0-9),连字符(ASCII十进制45),句点(ASCII十进制46),下划线(ASCII十进制95)和冒号(ASCII十进制58).我们建议使用引号,即使可以消除它们.