标记问题中的AppSettings

Nyl*_*ska 2 asp.net appsettings

我想把它放在我的标记中:

<script type="text/javascript" src="<%$ AppSettings:proxyScriptUrl %>"></script>
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这是不被接受的.我在这做错了什么?

要求是我不使用辅助方法,而是在标记中使用expressionbuilder.

Jos*_*rke 5

当我这样做时,我通常会创建一个帮助程序类,我喜欢调用Config并在那里为相关的应用程序设置放置一个静态属性.

然后你的代码将成为:

<script type="text/javascript" src="<%=Config.ProxyScriptUrl%>"/>
Run Code Online (Sandbox Code Playgroud)

这样做的一些其他好处是,如果我决定将ProxyScriptUrl移动到不同的配置机制,我只需要修改一个类.您的配置类可能如下所示:

public static class Config
{
    public static string ProxyScriptUrl 
    {
        get
        {
            return WebConfigurationManager.AppSettings["proxyScriptUrl "];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Zha*_*uid 5

根据文档,这是不允许的:

如果要将表达式用作页面或控件上的静态值,可以将表达式用作ASP.NET服务器控件的一部分.典型的策略是添加Literal控件并将其Text属性设置为表达式.例如,要在每个页面的底部放置版权声明,您可以使用以下内容:

<p align="center">
  <asp:Literal runat="server" text="<%$ AppSettings: copyright %>"/>
</p>
Run Code Online (Sandbox Code Playgroud)

如果想在aspx文件中完成所有操作,这可能对您有所帮助:

<script type='text/javascript' src='<asp:Literal id="literal1" runat="server" text="<%$ AppSettings: jsSource %>" />'></script>
Run Code Online (Sandbox Code Playgroud)

请注意文本变量中令人不快的单引号 - 尝试使用转义双引号会导致"格式错误的脚本标记"错误.


编辑:道歉 - 我已经交换了订单,这确实有效.