Как добавить добавленный пользователем элемент в выпадающий список после обновления страницы в asp.net? - PullRequest
0 голосов
/ 21 января 2019

У меня есть выпадающий список на моей странице aspx: ddlProgramList, который загружается в событии page_load () с Sql Server через запрос: Select Name from Programs; Значение этого DDL по умолчанию: Select Program

На той же странице у меня есть кнопка в aspx, как показано ниже, где пользователь может добавить новую программу, если она не существует в текущих опциях выпадающего списка:

<asp:TextBox ID="txtPrgLabel" runat="server" style="width:295px"></asp:TextBox>
<asp:Button ID="btnSaveProgram" runat="server" Text ="Save Program" OnClick="btnSaveProgram_Click" />
Функция

btnSaveProgram_Click в основном выполняет вставку в связанную таблицу SQL с содержимым txtPrgLabel. После завершения вставки Response.Redirect(Request.RawUrl); используется для обновления страницы и обновления содержимого DDL. Этот процесс успешно работает.

То, что я хочу: после того, как пользователь добавляет программу, когда страница обновляется, DDL должен автоматически принести недавно добавленную программу вместо содержимого по умолчанию «Выбор программы». Я не мог найти способ справиться с этим. Буду признателен за любую помощь или совет.

1 Ответ

0 голосов
/ 22 января 2019

Вот шаги для управления этим требованием:

1- Я определил глобальную переменную:

public int maxProgramID = 0;

2 - Найден MaxID в page_load:

string maxID = programsDataTable.AsEnumerable()
.Max(row => row["ProgramId"])
.ToString();

3 - Добавил его в мою сессию в btnSaveProgram_Click:

Session["AddedProgram"] = new DDLProgram { Name = programName, Value = maxProgramID + 1 };

4 - Выберите значение автоматически в page_load:

if(Session["AddedProgram"] != null) ddl.SelectedValue = Session["AddedProgram"];

Спасибо @penleychan, чтобы помочь мне, комментируя подмой вопрос.

...