将 ASP.Net Web.Config 设置绑定到 .ASPX 文件 <a href></a>?

Posted

技术标签:

【中文标题】将 ASP.Net Web.Config 设置绑定到 .ASPX 文件 <a href></a>?【英文标题】:Binding ASP.Net Web.Config Settings To .ASPX File <a href></a>? 【发布时间】:2010-12-06 06:39:42 【问题描述】:

情景

我有一个 ASP.NET Web 项目。我希望能够在我的 web.config 文件中定义网站的所有链接,以便在需要时可以轻松更改它们。目前我的 web.config 文件中有一个“”部分。

问题

如何将此键值对绑定到我的 .aspx 文件中的 '' 标记?!

我的 Web.Config 文件中的应用设置

<appSettings>
    <add key="MyNewLink" value="http://someurl.co.uk/" />
</appSettings>

非常感谢您的帮助。

编辑:

对不起,我应该提到这是一个 html 链接:**&lt;a href&gt;&lt;/a&gt;**

【问题讨论】:

【参考方案1】:

这不是 .sitemap 文件的用途吗?

无论如何,据我所知,您必须从后面的代码中“绑定”它。比如:

hlYourLink.NavigateUrl = ConfigurationManager.AppSettings["MyNewLink"];

【讨论】:

所以我必须给 一个名为 'h1YourLink' 的 ID 属性? 还有一个 runat="server" .. 但是 Locksfree 提供的上述解决方案应该可以工作。 哦,你应该使用 asp:hyperlink 控件,因为 a 标签没有名为 navigateurl 的属性【参考方案2】:

在你的 aspx 文件中是:

NavigateUrl='<%$ AppSettings:MyNewLink %>'

而完整的标签定义为:

<a runat="server" href="<%$ AppSettings:MyNewLink %>">Text link</a>

此语法只能用于 ASP.NET WebForms 服务器控件。

【讨论】:

这失败了...... ###Error 消息:不允许使用像 '' 这样的文字表达式。请改用 。 这绝对有效:文本链接 嗯,你每天都能学到新东西,我不知道你能做到这一点!谢谢@Locksfree【参考方案3】:

我最终使用了这个......

.aspx 文件

<asp:literal id="litgetquote" runat="server"></asp:literal>

.aspx.cs 代码隐藏

litgetquote.Text = "<A HREF='" + ConfigurationManager.AppSettings["GetQuoteUrl"] + "'>" +
            "get a quote now" + "</A>";

【讨论】:

您应该考虑使用它来提高可读性:litgetquote.Text = string.Format("立即获取报价", ConfigurationManager.AppSettings[" GetQuoteUrl"]); 我相信您所需要的只是 元素中的 runat='server'。

以上是关于将 ASP.Net Web.Config 设置绑定到 .ASPX 文件 <a href></a>?的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.Net Core App 中访问 Web.config 设置?

asp.net web.config的设置问题

如何使用 ASP.NET 在 web.config 文件中写入 appSetting?

asp.net 使用了框架 web.config 如何设置 session

ASP.NET MVC 中的文件大小上传限制:web.config(s) 中的 maxRequestLength 设置超过 1 个

ASP.NET WebService 仅在使用 Http Get 但 web.config 设置正确时错误地返回 XML 而不是 JSON