通过javascript读取web.config值

时间:2009-06-26 13:32:56

标签: javascript

我的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' 

3 个答案:

答案 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