我的web.config具有给定值:
<appSettings>
<add key="vDirectory" value="fr" />
<add key="BookingSummaryPage" value="/pli/forms/BookingSummary.aspx" />
</appSettings>
现在我想通过java脚本读取“vDirectory”的值。
我正在使用以下代码:
<script language="javascript" type="text/javascript">
function test()
{
var t='<%=ConfigurationManager.AppSettings("vDirectory").ToString() %>'
alert(t);
}
</script>
<input type="button" value="Click Me" onclick="test();" />
产生的错误是:
Error 'System.Configuration.ConfigurationManager.AppSettings' is a 'property' but is used like a 'method'
答案 0 :(得分:1)
编辑:这不会回答您的第一个问题,但在您修复后仍然适用。如果vDirectory类似于“c:\ new folder”,那么您最终会在t
中添加换行符。
我不确定你使用的语言是什么,但你想在打印出来之前通过addslashes()(或你的语言中的等价物)来运行字符串:
var t='<%=addslashes(ConfigurationManager.AppSettings("vDirectory").ToString()) %>';
或者甚至更好,JSON编码它,如果它有一个功能:
// Note no quotes as json_encode will add them
var t=<%=json_encode(ConfigurationManager.AppSettings("vDirectory").ToString()) %>;
答案 1 :(得分:1)
试试这个:
ConfigurationManager.AppSettings [ “vDirectory”]。的ToString()
请注意,使用方括号代替普通括号。
答案 2 :(得分:0)
如果它是属性(变量),则不能调用它,就像它的方法(函数)一样。所以你不需要:
<%=ConfigurationManager.AppSettings.GetKey("vDirectory")%>
...
http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.appsettings.aspx