Có lý do nào khiến phiên ASP.NET kết thúc và khởi động lại sẽ can thiệp (ngăn chặn) sự kiện SelectedIndexChanged kích hoạt trên danh sách thả xuống không?Kết thúc phiên và khởi động lại đang ngăn chặn DropDownList_SelectedIndexChanged khỏi việc bắn
Biểu mẫu được đăng lại nhưng điểm dừng của tôi không bị ảnh hưởng?
Mọi thứ hoạt động hoàn hảo trước khi khởi động lại phiên.
Đây là asp cho sự kiểm soát:
<asp:DropDownList ID="dlSort" runat="server" AutoPostBack="true"
onselectedindexchanged="dlSort_SelectedIndexChanged">
</asp:DropDownList>
Dưới đây là một phần của mã:
protected void dlSort_SelectedIndexChanged(object sender, EventArgs e)
{
PopulateItems();
//Breakpoint above- not hit after session restarts, but hit prior to session end.
}
tôi là trái với một hình thức trống rỗng như nó không nhận được repopulated ...
Xin cảm ơn trước,
M
Sửa 1:
Đây là mã mà kiểm soát được dân cư:
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";
}
Chỉnh sửa 2:
Để làm rõ, các PopulateItems() phương pháp populates một lặp dữ liệu và nên được chạy trên chỉ số thay đổi của thả xuống sắp xếp (dlSort_SelectedIndexChanged) - điều này không xảy ra mặc dù postback đang xảy ra.
Page_Load thực hiện một phương thức điền dlSort này luôn được chạy.
Tôi đã kiểm tra trang rộng rãi và mọi thứ khác với sự kiện thay đổi chỉ mục kích hoạt.
Sửa 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.
}
Có bất kỳ biến phiên nào được sử dụng trong phương thức PopulteItems() không? – Mairaj
Cảm ơn, có các biến phiên được sử dụng nhưng phiên được truy cập thông qua một đối tượng kiểm tra phiên khởi tạo trước khi truy cập các biến riêng lẻ. Vấn đề chính là dlSort_SelectedIndexChanged không kích hoạt sau khi phiên bị mất và được thiết lập lại. – Mack
Đăng mã có số lượng ban đầu của DDL. Những điều có thể có liên quan: trong vòng đời của trang, vòng đời đó được điền (ví dụ: Page_Load)? Nó chỉ có dân cư nếu IsPostBack là sai? ViewState có được bật không? Các triệu chứng của bạn cho thấy DDL chưa được phổ biến trên postback. – Joe