为什么我的内联asp.net无法在<link href =“”/>中工作?

时间:2011-03-09 16:58:40

标签: asp.net web-applications versioning

我想在我的js文件中添加版本号。

<link href="css/reset.min.css?v=<%= App.Golbal.VERSION %>" media="all" rel="Stylesheet" type="text/css" />

这呈现为

<link href="css/reset.min.css?v=&lt;%= App.Golbal.VERSION %>" media="all" rel="Stylesheet" type="text/css" />

[标准的asp.net 4 web applciation]

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:8)

将它放在PlaceHolder控件中,因为标题中的链接未包含在表单标记中,因此不会对其进行解析,如下所示

<asp:PlaceHolder runat="server">
<link href="css/reset.min.css?v=<%= App.Golbal.VERSION %>" media="all" rel="Stylesheet" type="text/css" />
</asp:PlaceHolder>

答案 1 :(得分:2)

正如Dante在上面所说,可能会改变

<%= App.Golbal.VERSION %>

<%=App.Golbal.VERSION%>

<%=App.Global.VERSION%>

并试试。

或者,像William建议的那样,在link元素上设置id和runat = server,并在后面的服务器脚本/代码中应用该值。

<link id="lnkCSS" runat="server" media="all" rel="Stylesheet" type="text/css" />

和后面的服务器脚本/代码,类似

//might need HtmlLink lnkCSS = FindControls("lnkCSS")`
lnkCSS.href = "css/reset.min.css?`v=" + App.Global.VERSION;

答案 2 :(得分:1)

我有类似的问题,然后绕过它的方法是使链接成为asp:超链接并在后面的代码中构建链接,然后将链接分配给超链接的NavigateURL。

答案 3 :(得分:0)

您可以尝试删除“&lt;%= App.Global”中的空白区域吗? 顺便说一句,Global错误拼写:)