ASP.Net Control.ResolveUrl怪癖

时间:2012-06-09 01:46:45

标签: asp.net

我有一个奇怪的问题。 解析脚本元素的URL时,src元素必须在''中。使用链接元素时,href必须位于“”中,或者代码块由于某种原因被渲染为html。下面的代码片段更清楚地说明了问题。为什么会这样?

<script src='<%:Page.ResolveUrl("~/JavaScript/jQuery/jquery-1.7.2.js") %>' type="text/javascript"/>

<link href="<%:Page.ResolveUrl("~/CSS/Foundation/foundation.css") %>" rel="stylesheet" type="text/css" />

修改 只是注意到脚本元素src标记在用“”或“”括起来时工作正常,但链接元素href标记似乎只在括在“”中时才起作用。

1 个答案:

答案 0 :(得分:1)

它不起作用,因为您在脚本中使用。相反,你应该这样做(它将使用单引号和双引号:

<link href="<%= ResolveUrl("~/Styles/site.css")%>" rel="stylesheet" type="text/css" />

请注意,我使用了 = 而不是

或者,在某些情况下,您甚至可以使用,例如,在主页的代码隐藏中调用Page.Header.DataBind();,并在{{1}中输出您的引用你的主页:

<head>