繁体   English   中英

根据ASP.NET中的下拉选择显示特定列表

[英]Displaying a specific list based on dropdown selection in ASP.NET

我想基于下拉列表中的选择显示特定的div,并隐藏其他列表。 反之亦然。

这是我所拥有的,但似乎无法正常运行。

<asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged1">            
    <asp:ListItem Text="Fruits" Value="2014"></asp:ListItem>
    <asp:ListItem Text="Colors" Value="2013"></asp:ListItem>
</asp:DropDownList>

<div id="div2014" runat="server">
    <ul>
        <li>Apples</li>
        <li>Oranges</li>
        <li>Bananas</li>
    </ul>
</div>
<div id="div2013" runat="server">
    <ul>
        <li>Red</li>
        <li>White</li>
        <li>Blue</li>
    </ul>
</div>

我的C#代码是

protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
{
    div2014.Visible = false;
    div2013.Visible = false;

    switch (DropDownList1.SelectedItem.Text)
    {
        case "2014":
            div2014.Visible = true;
            break;
        case "2013":
            div2013.Visible = true;
            break;
    }
}

AutoPostBack属性添加到您的DropDownList

<asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged1" AutoPostBack="True">

将您的代码更改为此:

protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
{
    div2014.Visible = false;
    div2013.Visible = false;

    switch (DropDownList1.SelectedValue)
    {
        case "2014":
            div2014.Visible = true;
            break;
        case "2013":
            div2013.Visible = true;
            break;
    }
}

而且您想在选择值之前隐藏两个div:

<div id="div2014" runat="server" Visible="false">    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM