我試圖把這個在我的標記:的AppSettings在標記問題
<script type="text/javascript" src="<%$ AppSettings:proxyScriptUrl %>"></script>
但出於某種原因,這是不能接受的。我在這裏做錯了什麼?
要求是我不使用輔助方法,而是在標記中使用表達式構建器。
我試圖把這個在我的標記:的AppSettings在標記問題
<script type="text/javascript" src="<%$ AppSettings:proxyScriptUrl %>"></script>
但出於某種原因,這是不能接受的。我在這裏做錯了什麼?
要求是我不使用輔助方法,而是在標記中使用表達式構建器。
按照documentation,這是不允許的:
如果要使用表達式爲您的網頁或控制在一個靜態值,您使用表達式作爲ASP.NET服務器控件的一部分。一個典型的策略是添加一個Literal控件並將其Text屬性設置爲一個表達式。例如,要放置一個版權聲明,在每個頁面的底部,你可以使用以下命令:
<p align="center">
<asp:Literal runat="server" text="<%$ AppSettings: copyright %>"/>
</p>
如果想要做到這一切在aspx文件這可以幫助你:
<script type='text/javascript' src='<asp:Literal id="literal1" runat="server" text="<%$ AppSettings: jsSource %>" />'></script>
請注意文本變量中不愉快的單引號 - 嘗試向我們轉義雙引號導致「格式錯誤的腳本標記」錯誤。
編輯:道歉 - 我換各地這樣做的工作秩序。
當我這樣做時,我通常會創建一個助手類,我喜歡調用Config,並在那裏爲應用程序設置放置一個靜態屬性。
那麼你的代碼將變成:
<script type="text/javascript" src="<%=Config.ProxyScriptUrl%>"/>
一些這樣的其他好處是,如果我決定到ProxyScriptUrl移動到不同的配置機制,我只需要修改一個類。你的配置類可能看起來像:
public static class Config
{
public static string ProxyScriptUrl
{
get
{
return WebConfigurationManager.AppSettings["proxyScriptUrl "];
}
}
}
我知道,但我需要在標記中使用表達式生成器來完成這一項。 – 2009-11-05 17:19:12
對於呈現此HTML中: <腳本類型= '文/ JavaScript的' SRC = '<%$ AppSettings的:proxyScriptUrl%>'> 我期待它會呈現appsetting本身,而不是價值。 – 2009-11-06 08:06:31
對不起 - 我已將它更新爲可以正常工作的版本。 – 2009-11-06 09:23:32
謝謝!我測試了它,它工作。 – 2009-11-06 15:07:39