У меня есть страница WebForms, на которой есть два элемента управления DropDownList, которые содержат диапазон температур от 60 до 80 градусов, один для нагрева другого для охлаждения. Они объявлены в .aspx как:Настройка SelectedValue для одного DropDownList также обновляет SelectedValue для другого DropDownLIst
<asp:DropDownList ID="heating" runat="server" />
<asp:DropDownList ID="cooling" runat="server" />
Значения для каждого списка заполняется в отделенном коде с помощью:
for(int i = 60; i <= 80; i++)
{
var listItem = new ListItem(i + " degrees", i.ToString());
heating.Items.Add(listItem);
cooling.Items.Add(listItem);
}
Когда я пытаюсь установить выбранное значение для каждого DropDownList с помощью значения в объект, содержащий данные, загруженные из базы данных с помощью:
heating.SelectedValue = myHome.avgHeatingTemp.ToString();
cooling.SelectedValue = myHome.avgCoolingTemp.ToString();
SelectedValue для обоих списках устанавливается первым значением в myHome.avgHeatingTemp, то к значению в myHome.av gCoolingTemp. Я понятия не имею, почему это происходит или как это исправить.
Heres то, что значения для каждого переменного после каждого шага процесса установки SelectedValues:
Initial State
heating.SelectedValue: 60
cooling.SelectedValue: 60
myHome.avgHeatingTemp: 72
myHome.avgCoolingTemp: 75
After setting heating.SelectedValue
heating.SelectedValue: 72
cooling.SelectedValue: 72
myHome.avgHeatingTemp: 72
myHome.avgCoolingTemp: 75
After setting cooling.SelectedValue
heating.SelectedValue: 75
cooling.SelectedValue: 75
myHome.avgHeatingTemp: 72
myHome.avgCoolingTemp: 75
+1 Ударьте меня в это. – womp
Спасибо, что сработало. Это была моя первая мысль об этой проблеме, и я подумал, что пробовал ее, и что она не сработала, но ... Я просто объясню это недостаточным количеством кофеина и уменьшающими навыки WebForm из-за расходов увеличивая время работы с MVC (что я не считаю плохим). – Hamman359
Конечно нет. Эта ситуация определенно неинтуитивная. – EndangeredMassa