Есть ли причина, по которой завершение и перезапуск сеанса ASP.NET будет мешать (предотвращать) запуск события SelectedIndexChanged в раскрывающемся списке?
Форма отправляется обратно, но моя точка останова не попадает?
Все работает отлично до перезапуска сеанса.
Здесь asp для управления:
<asp:DropDownList ID="dlSort" runat="server" AutoPostBack="true"
onselectedindexchanged="dlSort_SelectedIndexChanged">
</asp:DropDownList>
Здесь часть кода:
protected void dlSort_SelectedIndexChanged(object sender, EventArgs e)
{
PopulateItems();
//Breakpoint above- not hit after session restarts, but hit prior to session end.
}
У меня оставлена пустая форма, так как она не заселяется...
Спасибо заранее,
M
Изменить 1:
Вот код, в котором заполняется элемент управления:
protected void Page_Load(object sender, EventArgs e)
{
Form.Action = Request.RawUrl;//Required as page is rewritten
if (!IsPostBack)
{
SetNoItemsMessage("");
PopulateSortDropDown();
PopulateItems();
}
}
private void PopulateSortDropDown()
{
clsProducts ops = new clsProducts();
DataTable dt = ops.GetProductSortDropDownData();
dlSortBy.DataSource = dt;
dlSortBy.DataBind();
dlSortBy.ClearSelection();
dlSortBy.SelectedValue = "1";
}
Изменить 2:
Чтобы уточнить, метод PopulateItems() заполняет ретранслятор данных и должен запускаться при изменении индекса сортировки (dlSort_SelectedIndexChanged) - этого не происходит, хотя происходит обратная передача.
Page_Load выполняет метод, который заполняет dlSort, это всегда выполняется.
Я просмотрел страницу широко и все, кроме события изменения индекса, срабатывает.
Изменить 3:
void Session_Start(object sender, EventArgs e)
{
InitialiseCommonSessionVariables();//This piece of code sets default values for session variables that are used in every case.
}