Как сохранить значение в gridview после обратной передачи без использования базы данных
Моя текущая задача-создать систему расписания. Проблема в том, когда входное значение пользователя в GridView будет отсутствовать после страница была обновлена Я искал через другой форум, и нет никакого решения, которое могло бы соответствовать моей проблеме.
Я хотел бы объяснить, как работает моя система.
1. Есть раскрывающийся список, который пользователь выбирает, чтобы добавить новый проект в GridView.
&ЛТ;как ASP:dropdownlist с ИД="dd_project_no" атрибут runat="сервер" CssClass="tb_pro_no БТН-инфо"
OnSelectedIndexChanged="dd_project_no_SelectedIndexChanged" autopostback элемента управления="правда"и GT;
< / asp:DropDownList>
2. Тогда пользователь будет ставить какое-то значение внутри текстового поля в GridView в котором есть рабочие часы по проекту.
<asp:TemplateField ItemStyle-Width= "600px" HeaderText= "Saturday">
& lt;HeaderTemplate>
<div class= "form-inline">
&ЛТ;АСП:метка идентификатор="Label12" атрибут runat="сервер" текст="Сат" CssClass="коль-хз-12"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
&ЛТ;%--&ЛТ;АСП:метка идентификатор="дсат" атрибут runat="сервер" текст="дата" CssClass="коль-хз-12"&ГТ;&ЛТ;/АСП:ярлык&ГТ;--%&ГТ;
&ЛТ;АСП:метка идентификатор="Label16" атрибут runat="сервер" текст="СТ" CssClass="коль-хз-5"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
&ЛТ;АСП:метка идентификатор="Label17" атрибут runat="сервер" текст="от" CssClass="коль-хз-5"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / div>
< / HeaderTemplate>
& lt;ItemTemplate>
<div class= "form-inline">
&ЛТ;АСП:текстовое поле с ID="sat_st" атрибут runat="сервер" CssClass="tb_day коль-хз-5"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
&ЛТ;АСП:текстовое поле с ID="sat_ot" атрибут runat="сервер" CssClass="tb_day коль-хз-5" только для чтения="истинный"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / div>
< / ItemTemplate>
& lt;FooterTemplate>
<div class= "form-inline">
&ЛТ;АСП:текстовое поле с ID="tb_nt_sat_tot" атрибут runat="сервер" CssClass="tb_day коль-хз-5"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
&ЛТ;АСП:текстовое поле с ID="tb_ot_sat_tot" атрибут runat="сервер" CssClass="tb_day коль-хз-5"&ГТ;&ЛТ;/АСП:текстовое поле&ГТ;
< / div>
&ЛТ;АСП:метка идентификатор="checkTotalSat" атрибут runat="сервер" Цвет="Красный" размер шрифта="7.5"&ГТ;&ЛТ;/АСП:ярлык&ГТ;
< / FooterTemplate>
< / asp:TemplateField>
3.если пользователь хочет добавить новый проект после выбора выпадающего списка, то значение внутри текстового поля будет отсутствовать.
Код, стоящий за выпадающим списком проекта:
ДТ.Строк.Добавить(д-р);
ViewState ["Files"] = dt;
GridView1. DataSource = dt;
Управления gridview1.Привязку();
Мое предположение связано с тем, что значение для пользовательского ключа не сохраняется в источнике данных (который является ViewState ["Files"]), следовательно, оно сбрасывается на null.
Ценю за совет. Спасибо.
Что я уже пробовал:
Я попробовал использовать UpdatePanel и добавить данные привязки в
protected void Page_Load(отправитель объекта, EventArgs e)
{
если (! страница.IsPostBack)
{
Управления gridview1.Привязку();
}
}