将 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 链接:**<a href></a>**
【问题讨论】:
【参考方案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 文件中写入 appSetting?
asp.net 使用了框架 web.config 如何设置 session
ASP.NET MVC 中的文件大小上传限制:web.config(s) 中的 maxRequestLength 设置超过 1 个
ASP.NET WebService 仅在使用 Http Get 但 web.config 设置正确时错误地返回 XML 而不是 JSON