这是我的asp代码:
<!-- language: lang-js -->
<head runat="server">
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
</title>
<link href='<%: ResolveClientUrl("~/Content/Site.css") %>' rel="stylesheet" type="text/css" />
<script src='<%: ResolveClientUrl("~/Scripts/jquery.js")%>' type="text/javascript" />
<script src='<%: ResolveClientUrl("~/Scripts/jquery-ui.js")%>' type="text/javascript" />
<link href='<%: ResolveClientUrl("~/Content/redmond/jquery-ui.css") %>' rel="stylesheet" type="text/css" class="ui-theme" />
</head>
这里是渲染的html:
<!-- language: lang-js -->
<head>
<title>Espace de travail</title>
<link href="<%: ResolveClientUrl("~/Content/Site.css") %>" rel="stylesheet" type="text/css" />
<script src='Scripts/jquery.js' type="text/javascript"></script>
<script src='Scripts/jquery-ui.js' type="text/javascript"></script>
<link href="<%: ResolveClientUrl("~/Content/redmond/jquery-ui.css") %>" rel="stylesheet" type="text/css" class="ui-theme" />
</head>
为什么asp可以为我的.js脚本文件解析url但不能解析我的css文件?
答案 0 :(得分:4)
使用ResolveUrl
或Url.Content
辅助方法代替。由于runat="server"
标记上的head
属性,第一个链接已被编码。考虑删除属性或尝试this solution。
答案 1 :(得分:0)
尝试将runat="server"
放在<link>
标记上。
答案 2 :(得分:0)
尝试使用<%=
代替<%:
。
答案 3 :(得分:0)
&lt;%:自动编码结果字符串,而&lt;%=将显示确切的文本。如果您使用原始示例并放置&lt;%=它将起作用。
答案 4 :(得分:0)
这是我用来解决链接代码问题的解决方案:
<%= "<link href=\"" + ResolveClientUrl( "~/Content/Site.css") + "\" rel=\"stylesheet\" type=\"text/css\" />" %>
请注意我是如何将整个链接标记放在嵌入式代码块中的。