2012-05-04 4 views
0

Как создать динамический выпадающий список на asp.net?Динамический раскрывающийся список на ASP.Net

У меня есть DropDownList:

<asp:DropDownList ID="FirstParameter" runat="server"> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
</asp:DropDownList> 

этикетки и другой DROPDOWNLIST:

<asp:Label ID="SecondParameter_Label" runat="server" Text=""></asp:Label> 

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

Когда я изменить выбор на FirstParameter DropDownList, то текст на SecondParameter_Label должен изменяться в зависимости от выбора, и поэтому для dropdownl SecondParameter ist, должен быть привязан к фильтру данных на основе выбранного значения в первом раскрывающемся списке.

Я попробовал этот код, но он не работает:

Protected Sub FirstParameter_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles FirstParameter.SelectedIndexChanged 
    'Change the label text 
    SecondParameter_Label.Text = ReportType_Dropdownlist.SelectedItem.Value 

    'Bind value to the SecondParameter dropdownlist 
    SecondParameter.DataSource = dataTableName '--> Assumed that I already have the DataTable called from a class 
    SecondParameter.DataTextField = "NameofDatabaseColumn" 
    SecondParameter.DataValueField = "NameofDatabaseColumn" 
    SecondParameter.DataBind() 
End Sub 

Я попытался изменить SecondParameter_Label текст первого, но по-прежнему не работает. Как я могу это сделать?

ответ

1

Попробуйте добавить свойство AutoPostBack к выпадающим спискам. Вам также потребуется обработать их на стороне сервера. Ваш первый выпадающий список должен выглядеть так:

<asp:DropDownList ID="FirstParameter" runat="server" AutoPostBack="true"> 
    <asp:ListItem Value="1">1</asp:ListItem> 
    <asp:ListItem Value="2">2</asp:ListItem> 
    <asp:ListItem Value="3">3</asp:ListItem> 
</asp:DropDownList> 
+0

Привет, спасибо! :) –

Смежные вопросы