我试图把它放在我的标记中:
<script type="text/javascript" src="<%$ AppSettings:proxyScriptUrl %>"></script>
但由于某种原因,这不被接受。我在这里做错了什么?
要求是我不使用辅助方法,而是在标记中使用表达式构建器。
我试图把它放在我的标记中:
<script type="text/javascript" src="<%$ AppSettings:proxyScriptUrl %>"></script>
但由于某种原因,这不被接受。我在这里做错了什么?
要求是我不使用辅助方法,而是在标记中使用表达式构建器。
当我这样做时,我通常会创建一个助手类,我喜欢调用 Config 并在那里为相关的应用程序设置放置一个静态属性。
然后您的代码将变为:
<script type="text/javascript" src="<%=Config.ProxyScriptUrl%>"/>
这样做的其他一些好处是,如果我决定将 ProxyScriptUrl 移动到不同的配置机制,我只需修改一个类。您的配置类可能如下所示:
public static class Config
{
public static string ProxyScriptUrl
{
get
{
return WebConfigurationManager.AppSettings["proxyScriptUrl "];
}
}
}
根据文档,这是不允许的:
如果要将表达式用作页面或控件上的静态值,请将表达式用作 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>
请注意文本变量中令人不快的单引号 - 试图对我们进行转义的双引号会导致“脚本标签格式错误”错误。
编辑:道歉 - 我已经交换了围绕这个的顺序确实有效。