DropDownList в .NET FormView загружается отлично с первого раза, никогда больше - PullRequest
1 голос
/ 05 января 2012

Я строю DataTable и наполняю его сокращением страны и расширением страны. Я делаю это источником данных для DropDownList элемента управления в пределах FormView. Чтобы увидеть это FormView, пользователь нажимает кнопку на форме. DropDownList всегда правильно заполняется в первый раз . После работы с этим FormView (чтобы добавить запись в хранилище данных) пользователь должен нажать ту же кнопку, которую он ранее щелкнул, чтобы добавить другую запись, но DropDownList равно никогда заполнено. Я подтвердил, что DataTable, питающий этот список, заполняется при каждом вызове. Конечно, код также точно такой же.

Код формы выглядит следующим образом:

<asp:DropDownList ID="lstBornIn" runat="server" />

и код выглядит следующим образом:

  tblCountry = (DataTable) Session["tblCountry"];
DropDownList lstBorn = (DropDownList) 
FormView1.FindControl("lstBornIn");
lstBorn.DataSource = tblCountry;
lstBorn.DataValueField = "Abbrev";
lstBorn.DataTextField = "Country";
lstBorn.DataBind();

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

Есть предложения?

Ответы [ 2 ]

1 голос
/ 07 января 2012

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

Одна мысль заключалась в том, что проблема, которую я вижу, возникает только в Visual Studio, поэтомуустановил соответствующие файлы на IIS7 и попробовал его с тремя основными браузерами.Все провалилось одинаково.

Самое невероятное (для меня) заключается в том, что когда я смотрю на один из списков с помощью отладчика VS, все 67 элементов аккуратно спрятаны.Они просто не будут отображаться.

Мой обходной путь достаточно прост: жестко закодируйте элементы списка в файле ASPX.Выглядит некрасиво, но работает просто отлично.

Я буду в поисках всего, что предлагает другой подход.

0 голосов
/ 05 января 2012

ViewState выключен для страницы, DropDownList или другого элемента управления в иерархии DDL?Если это так, вам придется либо снова включить его, либо выполнить повторную привязку при обратной передаче.

...