1

在我的 .ascx 用户控件中,我尝试使用存储在 web.config 中的值动态生成链接。

<a href="<%$appSettings.MYPATH%>/file.aspx">link</a>

当我尝试运行时,出现解析器错误

Literal expressions like '<%$appSettings.MYPATH %>' are not allowed. Use <asp:Literal runat="server" Text="<%$appSettings.MYPATH%>" /> instead.

我知道我可能遗漏了一些相对较小的东西。

4

5 回答 5

4
<%= ConfigurationManager.AppSettings["myKey"] %>

编辑:不要忘记=

于 2009-05-14T17:50:13.413 回答
3
    <a href="<%= System.Configuration.ConfigurationManager.appSettings("MYPATH") %>">链接</a>

应该可以工作(至少在我使用的 IIS 服务器上可以)。(不幸的是它更冗长)

于 2009-05-14T17:50:29.093 回答
1

试试这个

.ascx

<asp:Literal ID="Literal1" runat="server"></asp:Literal>

在后面的代码中

Literal1.Text = "<a href='" + appSettings.MYPATH + "'/file.aspx">link</a>"
于 2009-05-14T17:49:57.377 回答
0

接下来会给出更准确的答案:

<a href="<%= System.Configuration.ConfigurationManager.AppSettings["param_name"] %>">Link</a>
于 2012-11-15T17:37:47.047 回答
0

使用冒号而不是点并添加runat="server"

<a href="<%$ AppSettings: MYPATH %>/file.aspx">link</a>

文档在这一点上不是很清楚,但 ASP.Net 表达式用于在服务器标记中使用。因此,如果您想在纯 html 标记中使用一个,则必须添加runat="server"以便在将评估表达式的服务器上处理该标记。

于 2012-12-14T22:17:28.160 回答