Правильный способ заполнения выпадающего списка на основе другого значения? - PullRequest
0 голосов
/ 21 декабря 2010

У меня небольшая проблема с кодом ASP.Net, над которым я работаю.Для простоты, скажем, у меня есть два выпадающих списка, один из которых полон различных элементов, а другой заполнен другими элементами, но основан на выбранном элементе первого выпадающего списка.В настоящее время я устанавливаю переменные в скрытые входные данные, чтобы проверить, изменился ли элемент в первом раскрывающемся списке и должен ли он изменить второй раскрывающийся список, но я также должен проверить, чтобы убедиться, что если что-то еще вызывает обратную передачу на НЕЗаново заполните второй выпадающий список, чтобы не потерять то, что в данный момент выбрано пользователем.Эта проверка также позволяет мне убедиться, что когда я ухожу со страницы, правильные значения выбраны, а не что-то заменено повторным заполнением обратной передачи.

Я новичок в ASP.Net/HTML/CSS/Javascript и тому подобное.Я знаю, что то, что у меня работает, даже близко не подходит для правильной работы.Пожалуйста, помогите мне исправить мои пути и выяснить, ЛУЧШИЙ способ решить эту текущую проблему.Некоторые хорошие учебные веб-сайты ASP.Net тоже подойдут, так как мне нужно постоянно совершенствовать свои навыки.

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

Попробуйте autopostback true с выбранным событием изменения индекса:

<asp:DropDownList ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" runat="server" />
<asp:DropDownList ID="DropDownList2" runat="server" />

И пусть событие заполняет второй выпадающий список:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}

РЕДАКТИРОВАТЬ Хорошо, если вам нужно, чтобы оно заполнялось из первогозагрузку страницы, вы можете сделать следующее, или, что еще лучше, сделать метод, который вызывается как из загрузки страницы, так и из измененного выбранного индекса, который заполнит ваш раскрывающийся список.

if (!Page.IsPostBack)
{
   DropDownList1_SelectedIndexChanged(DropDownList1, EventArgs.Empty);
}
1 голос
/ 21 декабря 2010

Вы, вероятно, хотите взглянуть на

и некоторые примеры в Класс DropDownList

...