3

我想使用 ASP.NET 的 ExpressionBuilder 语法从 AppSetting 动态检索静态内容的域。

我正在使用以下语法,但它不起作用:

<img src="<%$Appsettings:STATIC_CONTENT_DOMAIN %>/img/logo.jpg" alt="logo" width="176" height="159" />

仅供参考,所需的 HTML 输出是:

<img src="http://static.myserver.com/img/logo.jpg" alt="logo" width="176" height="159" />

请注意,我不能使用 <%= %> 语法,因为我的 ASPX 页面需要 CompilationMode="never"。(我使用 ExpressionBuilder 语法的原因是它适用于非编译页面)

关于如何做到这一点的任何想法?

4

3 回答 3

5

这种方法对我有用(不是很可读:)......

<img src="<asp:Literal runat='server' Text='<%$Appsettings:STATIC_CONTENT_DOMAIN%>'/>/img/logo.jpg" />
于 2010-01-29T02:09:31.367 回答
2

您可能需要考虑编写自定义表达式构建器 - 它们编写起来并不难。这里有一些教程:

您可以拥有自己的表达式语法,例如:

<%$ MyCdnUrl: Static, '/img/logo.jpg' %>

然后,您将解析“:”之后的所有内容并构建您需要的 URL。

我认为表达式构建器必须用作“属性值”,因此您不能完全自行使用它们。您仍然必须使用类似<img runat="server"><asp:Image>控件或内部<img><asp:Literal>东西。

于 2010-01-29T02:17:53.543 回答
0

相信你需要使用服务器端的asp.net控件,比如:

<asp:Image ID="MyImage" runat="server" ImageUrl="<%$Appsettings:STATIC_CONTENT_DOMAIN %>" />

我不知道您是否可以将语句与您拥有的静态信息结合起来,例如:

<asp:Image ID="MyImage" runat="server" ImageUrl="<%$Appsettings:STATIC_CONTENT_DOMAIN %>/img/logo.jpg" />

我的猜测是这是不可能的,但我想这值得一试。试试看,看看...

于 2010-01-27T19:04:35.743 回答