protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Session["SavedSQLSources"] == null)
SavedSQLSources = new Dictionary<String, SqlDataSource>();
SavedSQLSources.Add(ASPxComboBox1.ID, SqlDataSource1);
SavedSQLSources.Add(ASPxComboBox2.ID, SqlDataSource2);
Session["SavedSQLSources"] = SavedSQLSources;
}
else
{
if (Session["SavedSQLSources"] != null)
SavedSQLSources = (Dictionary<String, SqlDataSource>)Session["SavedSQLSources"];
}
}
Привет, у меня есть несколько ASPxCombobox, каждый из которых имеет свой собственный источник данных. Итак, сначала я спас
каждый идентификатор элемента управления с соответствующим им источником данных в словаре.
protected void Cmb_Callback(object source, CallbackEventArgsBase e)
{
ASPxComboBox comboBox = (ASPxComboBox)source;
string[] args = e.Parameter.Split('|');
for (int i = 0; i < args.Length; ++i)
SavedSQLSources[comboBox.ID].SelectParameters[i].DefaultValue = args[i];
comboBox.DataSourceID = SavedSQLSources[comboBox.ID].ID;
comboBox.DataBind();
}
Выполняя несколько действий на странице, каждый элемент управления затем запускает свой обратный вызов и связывает свои данные с соответствующим источником данных.
Хорошо ... Отлично работает при непосредственном использовании источника данных, но не получает элементов, извлекаемых из источника данных, сохраненного в Session (из SavedSQLSources).
Разве экземпляр объекта не должен быть таким же?
Заранее спасибо, TheRainFall.