为什么我无法解析css文件的客户端URL?

时间:2011-06-06 03:16:45

标签: asp.net asp.net-mvc asp.net-mvc-2 asp.net-mvc-3

这是我的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="&lt;%: ResolveClientUrl(&quot;~/Content/Site.css&quot;) %>" 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="&lt;%: ResolveClientUrl(&quot;~/Content/redmond/jquery-ui.css&quot;) %>" rel="stylesheet" type="text/css" class="ui-theme" />
</head>

为什么asp可以为我的.js脚本文件解析url但不能解析我的css文件?

5 个答案:

答案 0 :(得分:4)

The URL returned by this method is relative to the folder containing the source file in which the control is instantiated

使用ResolveUrlUrl.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\" />" %>

请注意我是如何将整个链接标记放在嵌入式代码块中的。