0

这基本上是设计问题,就像在我的 web asp.net 4.0 web 表单应用程序中构建我的代码的最佳方式一样。我的一般设计是这样的......

Master Page
     Has few User Controls
     Content Pages
         Inherit from Base Class
     User Controls within Content Pages

我需要在一次调用中从数据库中获取一些设置内容并将结果存储到一个类中。然后这个类将在整个页面中共享(在母版页、基类、内容页面和用户控件中)。

初始化此类并在整个页面生命周期中轻松访问它的最佳位置是什么。

我应该点击数据库并初始化 BASE PAGE 中的类,然后从 BASE 类中更新母版页..像这样

Page.master.findControl("label").Text = myClass.Setting1

然后内容页面及其用户控件也需要访问此类。

请告知最佳做法。

4

1 回答 1

1

如果这是应用程序的所有用户共享的完全共享数据,请将其放入作为类的静态属性公开的数据容器中,并在该类的静态构造函数中用数据库中的数据填充此容器。

public class SettingsData
{
  public string Setting1;
  public string Setting2;
}

public static class DataHolder
{
  public static SettingsData Settings = new SettingsData();
  static DataHolder() 
  {
    // open connection to db and query for values
    Settings.Setting1 = <value from db>;
    Settings.Setting2 = <value from db>;
  }
}

然后在代码中

  Label1.Text = DataHolder.Settings.Setting1;
于 2012-09-26T20:10:03.003 回答