Я пытаюсь создать список DDL
используя код позади, как вы можете видеть здесь:
public List<DropDownList> ddll = new List<DropDownList>();
for (int i = 0; i < 15; i++)
{
DropDownList ansList = new DropDownList();
ansList.AutoPostBack = false;
ansList.DataSource = values1;
ansList.DataBind();
ddll.Add(ansList);
}
Как вы можете видеть, я установить autopostback
атрибут false
.Но это не работает мои страницы обновляются, когда пользователь изменяет selectedindex
.
Я добавил DDL
используя это:
Span1.Controls.Add(ddll[0]);
Span2.Controls.Add(ddll[1]);
Span3.Controls.Add(ddll[2]);
Span4.Controls.Add(ddll[3]);
Span5.Controls.Add(ddll[4]);
Span6.Controls.Add(ddll[5]);
Span7.Controls.Add(ddll[6]);
Span8.Controls.Add(ddll[7]);
Span9.Controls.Add(ddll[8]);
Span10.Controls.Add(ddll[9]);
Span11.Controls.Add(ddll[10]);
Span12.Controls.Add(ddll[11]);
Span13.Controls.Add(ddll[12]);
Span14.Controls.Add(ddll[13]);
Span15.Controls.Add(ddll[14]);
В html-коде у меня есть это:
<span style="color:#ea0000;padding:0 10px;" id="Span6" runat="server"></span>
Сначала вы устанавливаете AutoPostBack
в false
а затем в true
сразу после двух операторов. Значение false
заменяется на true
и теперь, когда выбранный индекс изменен, он должен сделать обратную передачу.
ansList.AutoPostBack = false;
//...
ansList.AutoPostBack = true;
Редактировать Вы также можете использовать цикл, чтобы добавить список в промежутки, используя FindControl (идентификатор строки), чтобы получить пробелы по id.
for(int i=0; i < 15; i++)
this.FindControl("Span"+i).Add(ddll[i]);
Посмотрите на свой код
for (int i = 0; i < 15; i++)
{
DropDownList ansList = new DropDownList();
ansList.AutoPostBack = false; // Here You have set it false
ansList.DataSource = values1;
ansList.DataBind();
ansList.AutoPostBack = true; // Here You have set it true again
ddll.Add(ansList);
}