powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DropDownList'ы в ListView при обновлении данных, происходит какая-то дичь...
2 сообщений из 2, страница 1 из 1
DropDownList'ы в ListView при обновлении данных, происходит какая-то дичь...
    #38570335
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, вопрос состоит в том, что есть ListView на странице сайта, который заполняется через SqlDataSource1 при помощи ХП,
есть кнопка "редактирования", по нажатию на которую, пользователь может обновить содержащуюся в ListView информацию. Далее в
<EditItemTemplate> какие-то поля обновляются через TextBox'ы, примерно так:

Контакты:
<asp:TextBox Text='<%#Bind("DOU_Phones") %>' runat="server" ID="tB1"></asp:TextBox>
Email:
<asp:TextBox Text='<%#Bind("DOU_Email") %>' runat="server" ID="tB2"></asp:TextBox>


А некоторую информацию пользователь должен обновлять из DropDownList'ов, которые заполняется из БД через SqlDataSource'ы при помощи тех же ХП, а не писать ручками, чтобы корректно обновить информацию в таблице. Выглядит, примерно вот так:

Микрорайон:
<asp:DropDownList runat="server" ID="EditMicroDistrict" DataSourceID="SelectMicroDistrict"
DataTextField="Microdistrict_name" DataValueField="Microdistrict_id"
SelectedValue='<%#Bind("Microdistrict_id") %>'>
</asp:DropDownList>
Специализация:
<asp:DropDownList runat="server" ID="EditDOUSpec"
DataSourceID="SelectComSpec" DataTextField="CompSpec_name"
DataValueField="CompSpec_id" SelectedValue='<%#Bind("CompSpec_id") %>'>
</asp:DropDownList>


Собственно, проблема вся в том, что для каждой записи данной таблицы БД, микрорайон указывается по любому, т. е. не может иметь значения null и поэтому прекрасно сохраняет представление при нажатии по кнопке редактировать и выбирает, тот микрорайон к которому относится данная запись таблицы БД и не возникает ошибки. Но вот в некоторых записях, а их к сожалению большинство, явно не указано к какой специализации они относятся, т. е. имеют значения null, из-за чего выскакивает ошибка, т. к. при заполнении данного DropDownList'а (а он заполняется значениями из другой таблицы), нету пустых значений, соответственно все крашится, и он не может запомнить представление (что в принципе логично), чуть не забыл сказать, если значение специализации указано в какой-нибудь записи, то при нажатии по кнопке редактировать все прекрасно работает без ошибки. Как решить данную проблему, чтобы он сохранял пустое значение специализаци и и не выдавал ошибку?
------------------------------------------------------------------------------------------------------------------------------------
Хочу, еще добавить, что пробовал:
1) программно, заполнять DropDownList специализацию , получилось что-то вроде:

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
//строка подключения и команда для ХП
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
ddlSpec.DataSource = dr;
ddlSpec.DataTextField = "CompSpec_name";
ddlSpec.DataValueField = "CompSpec_id";
ddlSpec.DataBind();
con.Close();
ddlSpec.Items.Insert(0, new ListItem("", ""));

}

Все заполняется, но к сожалению, когда тыкаешь по кнопке редактировать, то он заполняет DropDownList и не сохраняет значение представления, то есть ставит инедкс DDL в 0 (пустая строка, которую я создавал), это не удобно из-за того, что если пользователю захотелось исправить только букву в слове, то еще придется исправлять специализацию (а про это он может и забыть, да и вообще зачем ему думать об этом, если он решил букву исправить), потому что он ее затирает автоматом на пустую. Ну и приведет к тотальному г. Получается что вместе с буквой, еще обновится специализация , а этого не надо. Поэтому отказался от данного способа + если вставляешь на странице .aspx SelectedValue='<%#Bind("CompSpec_id") %> в данный DropDownList, снова все крашится.

2) Пробовал заполнять DropDownList'ы в ручную без SqlDataSource, если 2 из них реально наполнить, то остальные, где значений под 100 и более, сами понимаете...
------------------------------------------------------------------------------------------------------------------------------------
P. S.: сильно не пинайте и извините за много букв (не знаю, как по другому сформулировать), я здесь впервые, недавно устроился на работу на веб-разработчика (специальность вообще не моя, но нравится), хотя опыта как такого нету, сказали что будут помогать, но вот уже 1 месяц работаю, помощи нету никакой =) Работаю по книгам (какие смог найти):

Разработка Web-приложений в среде ASP.NET 2.0. Задача - проект - решение;
Microsoft ASP.NET 4 c примерами на C# 2010 для профессионалов» авторов Мэтью Мак-Дональд и Марио Шпушта;


Может кто сталкивался, буду рад любому совету или решению, т. к. сам бьюсь уже 2 дня, спасибо! 2667760q
...
Рейтинг: 0 / 0
DropDownList'ы в ListView при обновлении данных, происходит какая-то дичь...
    #38570540
rpe4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, проблема решилась, какой-то индус с другого форума помог =)
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DropDownList'ы в ListView при обновлении данных, происходит какая-то дичь...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]