powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как динамически создать два DropDownList?
4 сообщений из 4, страница 1 из 1
Как динамически создать два DropDownList?
    #37455861
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Такая задача у меня :
На форме есть два DropDownList, каждый привязан к своему ObjectDataSource. При загрузке страницы оба заполняются данными - первый выводит марки автомобилей, второй должен выводить модели. Нужно, чтобы это было динамически - при смене значения в листе марок, лист моделей заполнялся динамически. Сделал так, но второй лист выводит значения только при первой загрузке страницы. При смене значения в первом - второй лист оказывается пустой. Вот код :
.aspx :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
</h3>
        <asp:Label ID="Label1" runat="server" Text="Марка  :"></asp:Label>
 
        <asp:DropDownList ID="DDL_Brands" runat="server" 
            DataSourceID="ObjectDataSource1" Height="25px" Width="182px" 
            DataTextField="brandOfCar" DataValueField="brandOfCar">
            <asp:ListItem></asp:ListItem>
        </asp:DropDownList>
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
            SelectMethod="GetBrands_DDL" TypeName="AutoCatalog.InsertDB" 
            onselected="ObjectDataSource1_Selected">
        </asp:ObjectDataSource>
        <br />
        Модель  : 
        <asp:DropDownList ID="DDL_Models" runat="server" 
            DataSourceID="ObjectDataSource2" DataTextField="BrandOfCar" 
            DataValueField="BrandOfCar" Height="19px" Width="181px">
        </asp:DropDownList>
         <asp:ObjectDataSource ID="ObjectDataSource2" 
            runat="server" SelectMethod="GetModels_DDL" TypeName="AutoCatalog.InsertDB">
            <SelectParameters>
                <asp:ControlParameter ControlID="DDL_Brands" Name="brandOfCar" 
                    PropertyName="SelectedValue" Type="String" />
            </SelectParameters>
        </asp:ObjectDataSource>
методы :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
public class InsertDB
    {
        List<InsertDetails> ListModels;
        List<InsertDetails> ListBrands;    
   
            public List<InsertDetails> GetBrands_DDL()
            {
                SqlConnection connection = Connection.Create();
                SqlCommand cmd = new SqlCommand("GetBrands_DDL", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                ListBrands = new List<InsertDetails>();

                try
                {
                    connection.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        InsertDetails insertDetails = new InsertDetails((string)reader["brandOfCar"]);
                        ListBrands.Add(insertDetails);
                    }

                    reader.Close();
                    return ListBrands;
                }
                catch (SqlException err)
                {
                    throw new ApplicationException("Data error Get Brands_DDL.");
                }
                finally
                {
                    connection.Close();
                }
            }


            public List<InsertDetails> GetModels_DDL(string brandOfCar)
            {
                SqlConnection connection = Connection.Create();
                SqlCommand cmd = new SqlCommand("GetModels_DDL", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                ListModels = new List<InsertDetails>();

                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("brandOfCar", System.Data.SqlDbType.NVarChar, 30));
                cmd.Parameters["brandOfCar"].Value = brandOfCar;

                try
                {
                    connection.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        InsertDetails insertDetails = new InsertDetails((string)reader["nameModel"]);
                        ListModels.Add(insertDetails);
                    }

                    reader.Close();
                    return ListModels;
                }
                catch (SqlException err)
                {
                    throw new ApplicationException("Data error Get Models_DDL.");
                }
                finally
                {
                    connection.Close();
                }
           }
    }
Подскажите, пожалуйста, как правильно сделать?
Заранее благодарен!
...
Рейтинг: 0 / 0
Как динамически создать два DropDownList?
    #37455870
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/forum/afsearch.aspx?s=%F1%F2%F0%E0%ED%FB+%E3%EE%F0%EE%E4%E0&submit=%CD%E0%E9%F2%E8&bid=19]поиск по словам страны и города
...
Рейтинг: 0 / 0
Как динамически создать два DropDownList?
    #37455975
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как динамически создать два DropDownList?
    #37456511
erman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решена, спасибо. Нужно было AutoPostBack включить!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как динамически создать два DropDownList?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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