这基本上就是设计问题,就像在我的web asp.net 4.0 Web表单应用程序中构建代码的最佳方式一样。我的一般设计是这样的......
Master Page
Has few User Controls
Content Pages
Inherit from Base Class
User Controls within Content Pages
我需要在一个CALL&中获得一些来自数据库的设置内容。将结果存储到类中。然后这个类将在整个页面中共享(在母版页,基类,内容页面和用户控件中)。
初始化此类并在整个页面lifectycle中轻松访问它的最佳位置。
我应该打数据库&在BASE PAGE中初始化Class,然后在BASE Class中更新Master Pages ..就像这个
Page.master.findControl("label").Text = myClass.Setting1
然后内容页面及其用户控件也需要访问此类。
请告知最佳做法。
答案 0 :(得分: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;