2011-04-09 38 views
2

我在<鏈路捆綁這樣的路徑>標籤問題在表達標籤綁定字符串變量

<link rel="stylesheet" media="screen" href='<%= AbsRoot_Path%>UserAccountTemp/css/reset.css' /> 

,但它呈現這樣的...

<link rel="stylesheet" media="screen" href="&lt;%= ConfigurationManager.AppSettings[&quot;rootpath&quot;].ToString() %>UserAccountTemp/css/reset.css" /> 

,它是工作<腳本>標籤。

這背後的原因是什麼,什麼是解決方案?

UPDATE

設置AbsRoot_Path

在web.config中

<add key="rootpath" value="http://localhost:1259/WallProfile/"/> 

,並設置爲AbsRoot_Path

public string AbsRoot_Path = ConfigurationManager.AppSettings["rootpath"].ToString(); 
+0

設置AbsRoot_Path的代碼不正確。 – 2011-04-09 05:31:34

+0

怎麼樣?你能解釋一下嗎? – 2011-04-09 06:02:33

+0

顯示設置AbsRoot_Path的代碼。我敢打賭,它有一些錯位的報價。 – 2011-04-09 06:07:34

回答

5

編輯: OK,我會更具體的在這裏。

ASP.NET將<head>中的<link>作爲服務器端控件,即使您沒有在那裏指定runat="server"屬性。所以你實際上是在設置服務器端控件的'href'屬性,這就是爲什麼你在那裏得到如此奇怪的值。因此,解決方法可能是要麼添加id屬性爲<link>和訪問它的服務器端:

<link id='lnkStylesheet' rel="stylesheet" media="screen" /> 

protected void Page_Init(object sender, EventArgs e) 
{ 
    HtmlLink lnkStylesheet= (HtmlLink)Page.Header.FindControl("lnkStylesheet"); 
    lnkStylesheet.Href = AbsRoot_Path + "UserAccountTemp/css/reset.css"; 
} 

或使用我在最初的答案提供瞭解決方案:

看來你定義一個<head>裏面你<link>標籤標記和ASP.NET不允許在那裏使用服務器端構造。但對於這個簡單的解決方法:你可以(用於該用途HtmlLink服務器端控件)添加<link>控制編程:

protected void Page_Init(object sender, EventArgs e) 
{ 
    HtmlLink myHtmlLink = new HtmlLink(); 
    myHtmlLink.Href = AbsRoot_Path + "UserAccountTemp/css/reset.css"; 
    myHtmlLink.Attributes.Add("rel", "stylesheet"); 
    myHtmlLink.Attributes.Add("screen", "screen"); 

    Page.Header.Controls.Add(myHtmlLink); 
} 

而且定義你AbsRoot_Path變量ConfigurationManager.AppSettings["rootpath"].ToString()是有點多餘,因爲ConfigurationManager.AppSettings["rootpath"]已經是鍵入string

+0

「標記和ASP.NET不允許在那裏使用服務器端構造。」 - 我不同意這條線,因爲服務器標籤工作JS代碼裏面的頭標籤和PLZ仔細閱讀我的問題,我也認爲它使用

0

您應該添加RUNAT =服務器,如果你想ASP .net來評估表達式,或者它只是呈現爲你寫的...所以嘗試添加RUNAT =服務器這樣

<link runat=server rel="stylesheet" media="screen" href='<%= AbsRoot_Path%>UserAccountTemp/css/reset.css' /> 
+0

與runat不工作,我也試過.. – 2011-04-09 06:03:32

+0

感謝您的答覆,但我也喜歡,但不工作.. – 2011-04-09 06:22:25

+0

與添加runat = server時呈現的是相同的東西嗎? – 2011-04-09 07:14:03