C# ASP.NET中的单引号(';)和双引号(";)奇怪行为
我有一些关于引号用法的问题。 例如,当我加载asp双引号中的脚本或css时,我会像这样使用它:C# ASP.NET中的单引号(';)和双引号(";)奇怪行为,c#,asp.net,C#,Asp.net,我有一些关于引号用法的问题。 例如,当我加载asp双引号中的脚本或css时,我会像这样使用它: <link href="<%= Page.ResolveClientUrl("~/Styles/Site.css") %>" rel="stylesheet" type="text/css" /> 另外,当我尝试使用上面指定的代码时,visual studio会正确地突出显示页面。ResolveClientUrl 我使用单引号(`)修复了上述错误,如: 背景图像:url(“
<link href="<%= Page.ResolveClientUrl("~/Styles/Site.css") %>" rel="stylesheet" type="text/css" />
另外,当我尝试使用上面指定的代码时,visual studio会正确地突出显示页面。ResolveClientUrl
我使用单引号(`)修复了上述错误,如:
背景图像:url(“”)
它工作正常,但visual studio没有按预期突出显示它(我使用的是黑色背景,服务器标记
在黄色背景上为白色,标记之间的文本为白色)
我的问题是:
背景图像
元素中的图像时不使用双引号PS:我已经读过文章中单引号和双引号之间的区别,但这不适用于这里。首先,但不相关,
nav
语法缺少style
属性
其次,ASP.NET在样式属性中似乎确实存在问题。它与完整属性值(如链接
标记上所示)的效果相当好。:
字符可能是罪魁祸首
您可以做什么:
首先,不需要将Page.ResolveClientUrl
与link
标记一起使用。您可以只使用波浪线路径,ASP.NET将解析实际路径
发件人:
CSS:
希望它能帮助你@VinaySinha OP将该问题本身链接起来。您是否尝试将引号加倍以查看是否有任何变化?@Takarii,如果您的意思是:
背景图像:url(“”)
是的,但出现了相同的错误请您填写导航标记的整行内容?ASP.NET解析以波浪号开头的路径。它表示应用程序根,而不是网站根。如果你的网站上有一个像www.mywebsite.com/myapp
这样的web应用程序,它指向/myapp
。同意评论,我的坏消息就在那里。link标记只是双引号的一个例子。还编辑了问题以完全删除nav(html元素与问题无关)。此外,我的解决方案也没有问题,我问的是为什么在使用/突出显示方面存在差异。老实说,我不知道为什么会丢失它。我的赌注是:
字符,因为当您将其用作完整属性的值时,它就可以工作,而不仅仅是一部分。我试过一个MVC项目,Razor也表现出同样的行为。
background-image: url("<%= Page.ResolveClientUrl("~/Content/image.jpg")%>");
background-image: url('<%= Page.ResolveClientUrl("~/Content/image.jpg")%>')
<link href="<%= Page.ResolveClientUrl("~/Styles/Site.css") %>" rel="stylesheet" type="text/css" />
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<nav class="nav-img" />
.nav-img {
background-image: url(../Content/image.jpg);
}