我正在尝试根据查询字符串中传递的值设置未绑定的 DropDownList 的值。这是我的代码:
ListItem item = null;
for (int x = 0; x < 60; x++)
{
item = new ListItem(x.ToString("D2"), x.ToString("D2"));
ddStartMinutes.Items.Add(item);
ddEndMinutes.Items.Add(item);
if (x < 24)
{
ddStartHours.Items.Add(item);
ddEndHours.Items.Add(item);
}
}
if (Request.QueryString.Count > 5)
{
string startDate = Request.QueryString["startDate"];
string startHour = Request.QueryString["startHour"];
string startMin = Request.QueryString["startMin"];
string endDate = Request.QueryString["endDate"];
string endHour = Request.QueryString["endHour"];
string endMin = Request.QueryString["endMin"];
string cabinet = Request.QueryString["cabinet"];
txtStartDate.Text = startDate;
txtEndDate.Text = endDate;
ddStartHours.SelectedValue = startHour;
ddStartMinutes.SelectedValue = startMin;
ddEndHours.SelectedValue = endHour;
ddEndMinutes.SelectedValue = endMin;
ddCabinets.SelectedValue = cabinet;
runReport();
}
我首先构建下拉列表,然后尝试根据查询字符串设置选定的值。所有下拉菜单都设置为 endMin 的值,而不是它们的正确值。
如果我在 runReport() 之前调试并添加一个断点;我看到每个字符串变量都有来自查询字符串的正确值,但是每个 DropDownList selectedValues 都设置为 endMin 而不是它的查询字符串值。
例如,如果在查询字符串中 startHour 为 1,startMin 为 2,endHour 为 3,endMin 为 4,则每个字符串变量都从查询字符串中正确设置,但下拉选择的值都设置为 4。
我很困惑。有任何想法吗?