从web.config读取键值时,标识符预期错误JavaScript



我正在尝试使用我的.aspx页面中的javascript从web.config读取键值。此页面包含在主页中,脚本块在我的aspx页面中的contentplaceholder标签中添加了;在此处询问了这个问题。有人建议返回服务器端,但我试图避免返回服务器,以便在页面上加速用户的工作...所以下面是我的代码:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <script type="text/javascript">
    function CheckCountry() {
        var country = '<%= System.Configuration.ConfigurationManager.AppSettings["LoginCountry"].ToString() %>';
        alert(country);
    }
    window.onload = CheckCountry; 
    </script>
       ....
</asp:Content>

但是,每当我尝试运行项目时,我都会在Visual Studio 2010中的列表错误框中获取此错误。我也尝试过此'<%=ConfigurationManager.AppSettings["LoginCountry"].ToString() %>',但没有起作用,同样的错误也被抛出...可能是什么问题呢?我如何在我的aspx页面中从web.config获取国家的价值?

看来,Visual Studo 2010编辑器对'和Inline Code <%= ... %>的组合感到困惑。因为在Studio 2015中,以下行确实有效:

var country = '<%= System.Configuration.ConfigurationManager.AppSettings["LoginCountry"].ToString() %>';

您可以尝试使用代码中使用JavaScript创建整个行,也许编辑器不会混淆。

<%= "var country2 = '" + System.Configuration.ConfigurationManager.AppSettings["LoginCountry"].ToString() + "';" %>

或在:

背后的代码中
public string javaScript;
protected void Page_Load(object sender, EventArgs e)
{
    javaScript = "var country = '" + ConfigurationManager.AppSettings["LoginCountry"].ToString() + "';";
}

,然后在ASPX页面上

function CheckCountry() {
    <%= javaScript %>
    .... etc
}

最新更新