При создании выпадающего списка я создавал свои элементы примерно так:
foreach (string item in ConfigurationManager.AppSettings["Budget"].Split(','))
{
items = item.ToLower() == "any"
? new ListItem(item, "0")
: item.Contains("+")
? new ListItem(String.Format("{0:0,0}+", Convert.ToInt32(item.Replace("+", ""))),
"999999999")
: new ListItem(String.Format("{0:0,0}", Convert.ToInt32(item)), item);
ddlMin.Items.Add(items);
ddlMax.Items.Add(items);
}
Что это значило, хотя мне неясно, почему это так сильно влияет на то, что элемент списка был прикреплен к обоим выпадающим спискам как отдельный элемент. Таким образом, даже если ddlMin получал правильное значение и выбирал его, когда ddlMax возвращался как 0, он выберет один и тот же элемент списка в обоих ... Чтобы исправить эту проблему, вам нужно просто разделить добавление в ddlMin и ddlMax .. .
foreach (string item in ConfigurationManager.AppSettings["Budget"].Split(','))
{
items = item.ToLower() == "any"
? new ListItem(item, "0")
: item.Contains("+")
? new ListItem(String.Format("{0:0,0}+", Convert.ToInt32(item.Replace("+", ""))),
"999999999")
: new ListItem(String.Format("{0:0,0}", Convert.ToInt32(item)), item);
ddlMin.Items.Add(items);
}
foreach (string item in ConfigurationManager.AppSettings["Budget"].Split(','))
{
items = item.ToLower() == "any"
? new ListItem(item, "0")
: item.Contains("+")
? new ListItem(String.Format("{0:0,0}+", Convert.ToInt32(item.Replace("+", ""))),
"999999999")
: new ListItem(String.Format("{0:0,0}", Convert.ToInt32(item)), item);
ddlMax.Items.Add(items);
}
Раздражает, но обязательно, видимо