ASP.Net上的动态下拉列表

时间:2012-05-04 06:09:28

标签: asp.net dynamic drop-down-menu selectedindexchanged

如何在asp.net上制作动态下拉列表?

我有一个下拉列表

<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>  

标签和其他下拉列表

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

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

当我更改FirstParameter下拉列表中的选项时,SecondParameter_Label上的文本应根据选择进行更改,因此对于SecondParameter下拉列表,应该与数据绑定根据第一个下拉列表中的选定值进行过滤。

我已经尝试过这段代码,但它不起作用:

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 个答案:

答案 0 :(得分: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>