Chris9599 Ответов: 4

Выпадающий список всегда возвращает первый элемент


Когда я хочу получить данные, которые пользователь выбрал в третьем ddl, он всегда возвращает мне первый элемент.

Когда пользователь выбирает игру из ddl1 и B из ddl2, ddl3 заполняет опцию, но ddl3.selecteditem.text всегда возвращает мне Dota, хотя пользователь выбирает LoL в качестве своей опции.

Так или иначе, я могу решить эту проблему? Любое предложение будет большим подспорьем. Спасибо!

Что я уже пробовал:

Вот ddl1 :
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack ="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Text="-- Select One --"></asp:ListItem>
<asp:ListItem Text="Game"></asp:ListItem>
<asp:ListItem Text="Book"></asp:ListItem>


Вот функция для ddl3:
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
   {
       DropDownList3.Visible = true;
       if (DropDownList2.SelectedValue == "A")
       {
           DropDownList3.Items.Clear();
           DropDownList3.Items.Insert(0, new ListItem("-Select-", "N"));
           DropDownList3.Items.Insert(1, new ListItem("CSGO", ""));
           DropDownList3.Items.Insert(2, new ListItem("CSO", ""));
           DropDownList3.Items[0].Attributes["disabled"] = "disabled";
       }
       else if (DropDownList2.SelectedValue == "B")
       {
           DropDownList3.Items.Clear();
           DropDownList3.Items.Insert(0, new ListItem("-Select-", "N"));
           DropDownList3.Items.Insert(1, new ListItem("Dota", ""));
           DropDownList3.Items.Insert(2, new ListItem("LoL", ""));

F-ES Sitecore

Включена ли функция autopostback в dropdownlist3?

4 Ответов

Рейтинг:
2

ahmadisetup

поместите свой выпадающий список в этот код

if (!IsPostBack)
            {
                do something

            }


Рейтинг:
1

NithyaKumarJai

Добавить панель обновления с дочерней настройкой


Рейтинг:
0

RickZeeland

Вам, вероятно, нужно использовать SelectedItem.Text, смотрите пример здесь: asp.net - SelectedValue против элемент.Значение DropDownList - переполнение стека[^]


Рейтинг:
0

james1205

Эта проблема может быть вызвана из-за свойства ViewState() любой страницы или элемента управления, пожалуйста , проверьте, если webforms ViewState() отключен или ViewState() элемента управления может быть отключен, если какой-либо из этих Propperty ViewState отключен, эта проблема может возникнуть, поэтому, пожалуйста, включите ViewState как страницы, так и элемента управления, это может решить вашу проблему.

void Page_Load(object sender, System.EventArgs e)
{
      DataBind();
      // Set EnableViewState to false to disable saving of view state 
      // information.
      myControl.EnableViewState = false;
      if (!IsPostBack)
         display.Enabled = false;
      
}