Как сохранить данные динамически добавляемых gridviews между постбэками?
Привет,
Я уже прочитал все статьи о сохранении данных динамических элементов управления, но не могу найти правильный вариант для своей проблемы.
Я пытаюсь импортировать файлы excel с переменным количеством файлов на страницу APSX. Я решил отображать файлы excel через gridviews и постоянно сохранять их в списке<gridview> (для последующей обработки).
Но я не могу понять проблему с обратным вызовом, соответственно, чтобы сохранить список<gridview>, Когда происходит событие OnClick.
Я пробовал Page_PreInit, ViewState, ... Но я не знаю, как это сделать..
Пожалуйста, неужели никто не знает, как это решить?
Большое спасибо.
Янв
Что я уже пробовал:
ASPX page: <pre><asp:Panel ID="pnl_grids" runat="server"></asp:Panel> <asp:Button ID="bttn_CreateNewOrder" runat="server" Text="Test" OnClick="bttn_CreateNewOrder_Click" />
код поддержки:
private List<GridView> gvObjList = new List<GridView>(); ... foreach (var file in dirParts.GetFiles()) { gvCount++; string fileName = Path.GetFileName(file.FullName); string fileExtension = Path.GetExtension(file.FullName); //excel bind SparePartsOrderAHUMAN sp_AHUMAN = new SparePartsOrderAHUMAN(fileExtension, filesOrder.Order_PARTS_Path + "\\" + fileName); //create gridView GridView objGV = new GridView(); objGV.ID = "gv_" + Path.GetFileNameWithoutExtension(file.FullName); objGV.RowDataBound += new GridViewRowEventHandler(objGV_RowDataBound); //formating gridView objGV.DataSource = sp_AHUMAN.dtSparePart; objGV.DataBind(); //CSS style objGV.Attributes.Add("class", "gv_SpareParts"); objGV.AlternatingRowStyle.CssClass = "gv_SpareParts_AltrowStyle"; objGV.HeaderStyle.CssClass = "gv_SpareParts_HeaderStyle"; objGV.RowStyle.CssClass = "gv_SpareParts_Rowstyle"; ..... ..... //add to page and List, on the end pnl_grids.Controls.Add(objGV); gvObjList.Add(objGV); }
protected void bttn_CreateNewOrder_Click(object sender, EventArgs e) { ..code after button click.. }