CyberForum.ru - Форум программистов и сисадминов
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум программистов > Форум .NET > Форум ASP.NET

Ответ Создать новую тему
 
Старый 19.01.2012, 08:53   #1
-Alice-
Новичок
 
Регистрация: 13.07.2010
Сообщений: 35
Репутация: 0 (0)
Восклицание Программная привязка данных с использованием SqlDataSource

Необходимо программно выполнить привязку данных. Имеется 2 DropDownList и кнопка. Хочу, чтобы при нажатии на кнопку в первый DropDownList заносились данные о предприятиях из бд, во второй - список отделов по выбранному в первом списке предприятии. Вот код:
Код C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SqlDataSource SqlDataSourcex = new SqlDataSource(ConfigurationManager.ConnectionStrings["ESPPConnectionString"].ConnectionString,"SELECT * FROM [Predpriyatiya_z]");
            SqlDataSourcex.DataBind();
            DropDownList4.DataTextField = "name";
            DropDownList4.DataValueField = "id_pred_z";
            DropDownList4.DataSource = SqlDataSourcex;
            DropDownList4.DataBind();
 
            SqlDataSource SqlDataSourcex1 = new SqlDataSource(ConfigurationManager.ConnectionStrings["ESPPConnectionString"].ConnectionString, "SELECT * FROM [Otdel_z] WHERE id_pred_z=@id_pred_z");
            SqlDataSourcex1.SelectParameters.Add(new ControlParameter("id_pred_z", "DropDownList4", "SelectedValue"));
            SqlDataSourcex1.DataBind();
            DropDownList5.DataTextField = "name";
            DropDownList5.DataValueField = "id_otdel_z";
            DropDownList5.DataSource = SqlDataSourcex1;
            DropDownList5.DataBind(); 
Первая привязка данных происходит нормально, вторая тоже, если убрать параметр. А с параметром на строчке
Код C#
1
DropDownList5.DataBind();
выводится ошибка:
The SqlDataSource control '' does not have a naming container. Ensure that the control is added to the page before calling DataBind.
Помоги, пожалуйста, справиться с проблемой!
-Alice- вне форума
Другие темы раздела
Вывод элементов управления без перезагрузки страницы ASP NET C#
Я только начала изучать ASP.NET и возник такой вопрос: Как сделать, чтобы после нажатия на кнопку ("Далее", "Назад"), одни элементы управления исчезали, а другие появлялись? У меня был такой вариант: на UpdatePanel создать все ЭУ, в обработчике Page_Load вызвать .... Вывод элементов управления без перезагрузки страницы
ASP NET C# Как преобразовать веб проект: в веб-сайт или запустить на iis?
Всем привет, прошу совета. Вебом начал занимался с юниксовыми системами и asp.net для меня пока не понятен. Прочитал, что имеются два различия, веб-приложение и веб-сайт. У меня есть некий портал созданный как веб-приложение, понял по коду (например в подключении страницы указано Codebehind.... Как преобразовать веб проект: в веб-сайт или запустить на iis?
Старый 21.01.2012, 13:01   #11
Alligieri
Форумчанин
Эксперт C++
 
Аватар для Alligieri
 
Регистрация: 16.03.2009
Адрес: В родном облаке:)
Сообщений: 3,358
Репутация: 1717 (1032)
По умолчанию Re: Программная привязка данных с использованием SqlDataSource

sau, мы это уже по ходу сделали. там проблема насколько я понял в том что ControlParameter не мог получить ID дропдауна через расположение в разных контейнерах именования
Alligieri вне форума
Старый 21.01.2012, 13:16   #12
sau
Форумчанин
 
Аватар для sau
 
Регистрация: 22.07.2011
Адрес: Москва
Сообщений: 1,259
Репутация: 637 (507)
По умолчанию Re: Программная привязка данных с использованием SqlDataSource


Не по теме:
Ясно, не знаю откуда столько проблем на пустом месте люди создают, почему бы не делать в начале по учебнику. Основной смысл в SqlDataSource заложен в его декларативном применении, иначе есть куча других способов присвоить данные.
sau на форуме
Старый 21.01.2012, 15:24  [ТС]   #13
-Alice-
Новичок
 
Регистрация: 13.07.2010
Сообщений: 35
Репутация: 0 (0)
По умолчанию Re: Программная привязка данных с использованием SqlDataSource

sau, я добавляла их : Page.Controls.Add()....
Но, как я писала выше, это ни к каким улучшениям не привело...
Мне Alligieri посоветовал обратить внимание на контейнеры именования, но я, к своему позору, как ни искала, не смогла понять, как мне с ними поступать, да впрочем и что это...(((
-Alice- вне форума
Старый 21.01.2012, 15:36   #14
Alligieri
Форумчанин
Эксперт C++
 
Аватар для Alligieri
 
Регистрация: 16.03.2009
Адрес: В родном облаке:)
Сообщений: 3,358
Репутация: 1717 (1032)
По умолчанию Re: Программная привязка данных с использованием SqlDataSource

-Alice-, а вы пробовали сделать то что я писал выше (добавлять в контолы Panel2, а не в Page)?
Alligieri вне форума
Старый 21.01.2012, 16:01  [ТС]   #15
-Alice-
Новичок
 
Регистрация: 13.07.2010
Сообщений: 35
Репутация: 0 (0)
По умолчанию Re: Программная привязка данных с использованием SqlDataSource

Да, конечно) Я там Вам написала результат)
Ошибка:
The SqlDataSource control 'SqlDataSourcex1' does not have a naming container. Ensure that the control is added to the page before calling DataBind.
Есть свойство SqlDataSource1.NamingContainer, но оно только для чтения, и я не поняла, как это можно сделать(

Добавлено через 3 минуты
sau, про другие способы... я могу предположить только запрос к бд через SqlCommand...

Добавлено через 12 минут
Alligieri, как думаете, что если правда просто подключаться к бд и получать данные?))
-Alice- вне форума
Старый 21.01.2012, 16:10   #16
sau
Форумчанин
 
Аватар для sau
 
Регистрация: 22.07.2011
Адрес: Москва
Сообщений: 1,259
Репутация: 637 (507)
По умолчанию Re: Программная привязка данных с использованием SqlDataSource

-Alice-, что бы не мучать себя загадками, просто разместите SqlDataSource на странице декларативной натацией., у DropDownList-а укажите DataSourceID равный идентификатору SqlDataSource .
- это поможет решить проблему если она связанна с динамическим добавлением. (а я так подозреваю что там намудрили в коде с порядком добавления контрола и вызовом биндинга)
sau на форуме
После регистрации реклама в сообщениях будет скрыта
Старый 22.01.2012, 03:37  [ТС]   #17
-Alice-
Новичок
 
Регистрация: 13.07.2010
Сообщений: 35
Репутация: 0 (0)
По умолчанию Re: Программная привязка данных с использованием SqlDataSource

sau, я знаю, что очень удобно всё сразу разместить, указать и проблем не будет. НО! если вы прочитаете всю эту тему, то наверное поймете, почему я хочу эту избежать.
-Alice- вне форума
Ответ Создать новую тему

Похожие темы
Тема Автор
Pascal (Паскаль) программная реализация поиска в глубину с использованием стеком рёбер графа
Постройте программную реализацию поиска в глубину с использованием стеком рёбер графа. Граф представляется списком смежных вершин (для хранения списка смежных вершин используйте двумерный массив или два одномерных массива, индексированных номером ребра)
yanaperry
WPF и Silverlight .NET 4.x Привязка данных службы данных к элементам управления
Здравствуйте, пытаюсь заточить пример под свои нужды, но ничего не получается, вот код: private TestEntities context; private DataServiceCollection<User> dataUser; private long userId = 0; private void UserControl_Loaded(object sender, RoutedEventArgs e) ...
sameness
VBScript/WSH программная архивация и разархивация данных
Привет всем. Подскажите плиз функции VBS для упаковки и распаковки файлов и директорий. Ну т.е. я знаю что указываются пути, задается MyHex, создаются объекты, а вот сами функции как выглядят?
DM_AND
Теория и технологии программирования программная эмуляция наложения с использованием альфа канала
Привет. Делаю программное альфа наложение в DDRAW1 (аппаратное недоступно). Пытаюсь оптимизировать алгоритм наложения двух изображений глубиной 32 бита (24-битный цвет, 4 байт - альфа канал). Вроде бы с изначально заготовленной таблицей значений цветов: BYTE Tab;//what a huge table! for(int...
John Paramol
MS Access Программная фильтрация данных
Форма основана на запросе. В свою очередь в форме есть ListBox (основа создания списка - запрос на базе первого запроса для формы). При попытке установить фильтр типа Me.Filter = ' Parametr Like '*abc*'' Me.FilterOn = True ничего не работает, хотя такая установка фильтра должна...
al140862
Опции темы

Текущее время: 23:34. Часовой пояс GMT +4.

Компьютерный форум программистов и сисадминов
Powered by vBulletin® Version 3.8.7 PL2
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Рейтинг@Mail.ru Яндекс.Метрика