【问题标题】:asp.net server tags not resolving before being sent to clientasp.net 服务器标签在发送到客户端之前未解析
【发布时间】:2013-10-07 09:16:12
【问题描述】:

我有一个遇到问题的 WebForms 网站。查看 Firebug,我可以在我的母版页中看到以下行:

<link rel="stylesheet" href='<%= ResolveClientUrl("/css/site.css") %>' />

不在服务器上“执行”。因此,在 Firebug 中我得到:

http://www.mysite.com/Master_Pages/%3C%25=%20ResolveClientUrl(%22/css/site.css%22)%20%25%3E

什么时候会这样

http://www.mysite.com/css/site.css

这以前运行良好,我在其他网站上使用过这种技术,从来没有遇到过问题,但不明白为什么突然停止工作。 我已经仔细检查了,我的头设置为 runat=server:

&lt;head runat="server"&gt;

所以它应该在服务器上执行。 我也尝试将其更改为:

 <link rel="stylesheet" href=<%= ResolveClientUrl("/css/site.css") %> runat="server" />

我检查过的其他事项:

  • 应用程序池和网站都针对正确且相同的 .net 框架实例
  • 应用程序池已被回收以确保其清除
  • 我可以在后面的代码中打断点

任何人都可以建议可能导致此问题的原因或我可以检查的内容吗?

谢谢

【问题讨论】:

    标签: asp.net iis webforms


    【解决方案1】:

    试试这个。

    <link rel="stylesheet" type="text/css" href="css/site.css" />
    

    这应该可行。

    【讨论】:

    • 不,这不起作用,它会产生mysite.com/Master_Pages/css/site.css
    • 改为尝试 。这应该工作。它对我有用。
    • 这将修复 CSS 链接,但脚本链接不起作用。加上它掩盖问题而不是解决问题......
    • 您还需要更改与css相同的脚本链接。
    【解决方案2】:

    ResolveClientUrl("/css/site.css") 应该是ResolveClientUrl("~/css/site.css")

    你也省略了属性href的引号。

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      • 2017-03-08
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多