选择第一个ddl后,如何使第二个下拉列表可见?

时间:2012-06-27 19:56:46

标签: c# asp.net

我正在为我的网站制作评论/请求表单,以便允许我的用户访问 尽可能具体,我有一个下拉列表,列出我网站上的所有8个类别。选择下拉列表的第一个类别后,我尝试使与所选类别对应的ddl可见。在选择正确的类别之前,如何保持第二个ddl不可见?

这是我到目前为止的html代码:

    Select a Category:

    <asp:DropDownList ID="ddlMaintab" runat="server" AutoPostBack="true"
    onselectedindexchanged="ddlMaintab_SelectedIndexChanged">

    <asp:ListItem Text="- Select - " Value=""></asp:ListItem>
    <asp:ListItem Text="U" Value="1"></asp:ListItem>
    <asp:ListItem Text="Re" Value="2"></asp:ListItem>
    <asp:ListItem Text="Merc" Value="3"></asp:ListItem>
    <asp:ListItem Text="Rep" Value="4"></asp:ListItem>
    <asp:ListItem Text="A" Value="5"></asp:ListItem>
    <asp:ListItem Text="Refi" Value="6"></asp:ListItem>
    <asp:ListItem Text="Rete" Value="7"></asp:ListItem>
    </asp:DropDownList>


    <br /><br />

    Sub Category:
    <asp:DropDownList ID="ddlSub" runat="server" Visible="false" >
    <asp:ListItem Text="app" Value="1"></asp:ListItem>
    <asp:ListItem Text="CS" Value="2"></asp:ListItem>
    <asp:ListItem Text="Saved" Value="3"></asp:ListItem>
    <asp:ListItem Text="JLB" Value="4"></asp:ListItem>
    <asp:ListItem Text="Completed" Value="5"></asp:ListItem>
    <asp:ListItem Text="Search" Value="6"></asp:ListItem>
    <asp:ListItem Text="Pre-approved" Value="7"></asp:ListItem>
    <asp:ListItem Text="Notes" Value="8"></asp:ListItem>
    <asp:ListItem Text="Document" Value="9"></asp:ListItem>
    <asp:ListItem Text="Deal" Value="10"></asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddl1" runat="server" Visible="false" >
    <asp:ListItem Text="app" Value="1"></asp:ListItem>
    <asp:ListItem Text="CS" Value="2"></asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddl2" runat="server" Visible="false" >
    <asp:ListItem Text="app" Value="1"></asp:ListItem>
    <asp:ListItem Text="CS" Value="2"></asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddl3" runat="server" Visible="false" >
    <asp:ListItem Text="app" Value="1"></asp:ListItem>
    <asp:ListItem Text="CS" Value="2"></asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddl4" runat="server" Visible="false" >
    <asp:ListItem Text="app" Value="1"></asp:ListItem>
    <asp:ListItem Text="CS" Value="2"></asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddl5" runat="server" Visible="false" >
    <asp:ListItem Text="app" Value="1"></asp:ListItem>
    <asp:ListItem Text="CS" Value="2"></asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddl6" runat="server" Visible="false" >
    <asp:ListItem Text="app" Value="1"></asp:ListItem>
    <asp:ListItem Text="CS" Value="2"></asp:ListItem>
</asp:DropDownList>

非常感谢你,这个网站很棒

2 个答案:

答案 0 :(得分:0)

有几种方法可以实现这一目标。 首先,您可以将所有后续控件设置为visible = invisible并且具有触发onchange的事件...或者您可以只有一个下拉并创建一个新的“onchange”。

您还可以使用ajax仅部分回发并根据需要呈现新的下拉列表。

答案 1 :(得分:0)

您需要实施级联下拉列表。请参阅此处(警告:自己的博客帖子),了解有关如何执行此操作的更多详细信息:

Code Snippet: Cascading DropDownLists