1

我已经接管了一个 ASP.NET WebForms 项目的维护工作,我不知道以前的开发人员是如何实现一些功能的。基本上他在母版页中有一个空的 Label 控件:

<asp:Label ID="MyLabelControl" runat="server"></asp:Label>

这作为 Web.Config 中的 applicationSetting:

<setting name="MyLabelControl" serializeAs="String">
    <value>Test</value>
</setting>

并且不知何故,标签填充了应用程序设置的值。我到处搜索,找不到他将设置值绑定到标签的位置。如果是我,我会在母版页的 Page_Load 方法中执行此操作,但这是空的。有什么我不知道的特殊绑定吗?

我以前做过一些基本的 WebForms 工作,但在此之前,我的大部分 ASP.NET 工作都是在 MVC 和 Razor 中完成的。是的,我正在倒退:)。在理解他是如何做到这一点时,你能给我的任何帮助都会很棒。谢谢!

4

3 回答 3

2

您可以搜索此代码

NameValueCollection appSettings = ConfigurationManager.AppSettings;
MyLabelControl.Text = appSettings[MyLabelControl];
于 2012-10-09T17:43:33.287 回答
1

如果 Aghilas 的建议没有给你任何东西,我会先看看这个答案:Get value from web.config applicationSettings into ASP.NET markup

您可能需要在系统范围内进行一些搜索,就好像该站点较旧一样,它也可能仍在使用不推荐使用的方法来读取配置文件。在这种情况下,您可能想要搜索类似以下内容的内容:

ConfigurationSettings.AppSettings.Get("我的设置")

并尽快升级那只小狗以使用 ConfigurationManager!

(不过,我确实在 CodeProject 上看到了一篇有趣的文章,该文章警告不要在课堂上使用它……没有通读它,但可能是一种“友好警告”之类的东西:http://www.codeproject.com/Articles/196563/Don-t-use-ConfigurationManager

于 2012-10-09T17:53:53.830 回答
1

也许更改标签的名称,看看是什么崩溃?你知道,引入一个错误,看看弹出什么不再工作......

于 2012-10-09T19:07:06.517 回答