【问题标题】:Dynamic query string in html css linkhtml css链接中的动态查询字符串
【发布时间】:2013-12-10 14:36:04
【问题描述】:

谁能告诉我为什么会这样:

<script type="text/javascript" src="/js/jqFuncs.js?v=<%=jqFuncsScriptlastWriteTime %>" />

但这不是

<link type="text/css" rel="stylesheet" href="/css/site.css?v=<%=sitecsslastWriteTime %>" />

我后面的代码有:

public string jqFuncsScriptlastWriteTime = System.IO.File.GetLastWriteTime(@"c:/web/cs3/js/jqFuncs.js").ToString("yyMMdd");
public string sitecsslastWriteTime = System.IO.File.GetLastWriteTime(@"c:/web/cs3/css/site.css").ToString("yyMMdd");

呈现的 HTML 如下所示:

<script type="text/javascript" src="/js/jqFuncs.js?v=131126" ></script>
<link type="text/css" rel="stylesheet" href="/css/site.css?v=&lt;%=sitecsslastWriteTime %>" />

【问题讨论】:

  • 您可以尝试在您的链接标签上添加 rel="stylesheet" 吗?不确定是否所有浏览器都需要它。据此,必填:w3schools.com/tags/tag_link.asp
  • rel 对服务器渲染变量没有影响
  • 所以这是服务器端的问题——变量没有写入页面?您应该更新您的问题,而不是说“它不起作用”。如果它没有将预期的变量值写入服务器端的页面,我猜 c:/web/cs3/css/site.css 文件不存在或者您无权访问它。跨度>
  • 公平点大卫,用 html 输出更新问题
  • 太好了,现在我们可以为您解决这个问题!请参阅此修复:stackoverflow.com/questions/5603086/…

标签: c# html asp.net


【解决方案1】:

问题是由 ASP.NET 处理 LINK 标记的方式引起的。这是另一个提供解决方案的问题/答案:

Problem in Expression tag to bind string variable

我会先尝试在链接标签上添加 runat="server"。如果这不起作用,那么我将使用其他解决方案,即公认的答案。

【讨论】:

  • 谢谢戴夫,这给我指出了一个稍微不同的答案,但是一个有效的答案!
  • NP - 我发现该链接很有价值,因为它说明了为什么您的原始代码无法正常工作以及解决方案!编码愉快!
【解决方案2】:

嗨,戈登,

hrefsrc 之间存在一些差异。更多细节在这里:

Difference between SRC and HREF

谢谢!

【讨论】:

  • 嗯嗯嗯我明白了。那么有没有办法可以将动态查询字符串添加到 href 中?
【解决方案3】:

对于其他寻找答案的人,我使用了这个:

<%= String.Format("<link type=\"text/css\" rel=\"stylesheet\" href=\"/css/site.css?v={0}\" />", sitecsslastWriteTime) %>

【讨论】:

    猜你喜欢
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多