也许这是一个愚蠢的问题,但我在Visual Studio 2010中遇到了这个问题:
在我的主页中我有这段代码:
<head runat="server">
<title>App Title</title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
<link href="<%= App.RootPath %>Css/style.css" rel="stylesheet" type="text/css" />
</head>
出于某种奇怪的原因,<%
在运行时使用<%
<%= App.RootPath %>
如果放在head标签之外的任何地方,则工作正常。
任何人从未体验过这一点并得到解决?
更新:
如果我在head标签中放下runat =“server”,它就可以了。但我需要它。
编辑:
所有这些方法都有效,但问题是缺乏设计师支持?
答案 0 :(得分:5)
你的诀窍解释:
<link <%= "href='" +App.RootPath +"Css/style.css'" %> rel="stylesheet" type="text/css" />
找到答案生成编译异常。将App.RootPath
更改为App.RootPaths..
,然后导航到源代码(它将显示在错误页面中)。如果编译器匹配<link href='' rel='' >
之类的东西,那么它将生成代码以构建相应的HtmlLink
实例。所以这就是为什么它将<%=
解析为文字字符串,然后对其进行编码。
你的技巧欺骗了编译器,这一点都不错。
我相信它对元标记做了同样的事情,(HtmlMeta
)
答案 1 :(得分:2)
现在,我发现了这个工作;仍然在寻找这种行为的原因。
<link <%= "href=" +App.RootPath +"Css/style.css" %> rel="stylesheet" type="text/css" />
答案 2 :(得分:2)
这也应该有用。
<link href="<%= App.RootPath + "Css/style.css" %>" rel="stylesheet" type="text/css"/>
答案 3 :(得分:1)
我通常使用ResolveUrl
:
<link href='<%= Page.ResolveUrl("~Css/style.css") %>' rel="stylesheet" type="text/css"/>
答案 4 :(得分:-1)
**problem**
<link rel="canonical" href="http://www.kayserianadoluhaber.com.tr/haber/<%=kanonikal%>" />
**solved**
<link rel="canonical" href="http://www.kayserianadoluhaber.com.tr/haber/<%=kanonikal+""%>" />