我有一个关于过滤器的简单问题.
@H_301_2@我有4个下拉列表,用于从
MySQL数据库表中过滤我的Web应用程序中的数据.
@H_301_2@已选择第一个下拉列表,仅显示一个project_id,但其他下拉列表显示数据库中的所有可能值 – 这是我到目前为止所做的.
但我想只显示所选特定项目的数据值.
它是ASP.NET 4.0,C#后面和MysqL数据库使用.@H_301_2@任何帮助将不胜感激.@H_301_2@谢谢
解决方法
查看以下链接以填充级联下拉列表.
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CascadingDropDown/CascadingDropDown.aspx
http://www.codeproject.com/KB/aspnet/CascadingDropDown.aspx
http://www.aspsnippets.com/Articles/Creating-Cascading-DropDownLists-in-ASP.Net.aspx
码:
<table> <tr> <td>First</td> <td><asp:DropDownList ID="DDLFirst" runat="server" AutoPostBack="true" onselectedindexchanged="DDLFirst_SelectedIndexChanged"></asp:DropDownList></td> </tr> <tr> <td>Secord</td> <td><asp:DropDownList ID="DDLSecond" runat="server" AutoPostBack="true" onselectedindexchanged="DDLSecond_SelectedIndexChanged"> <asp:ListItem Text="Select" Value="Select"></asp:ListItem> </asp:DropDownList></td> </tr> <tr> <td>Thrid</td> <td><asp:DropDownList ID="DDLThird" runat="server"><asp:ListItem Text="Select" Value="Select"></asp:ListItem> </asp:DropDownList></td> </tr> </table>
//代码背后@H_301_2@protected void Page_Load(object sender,EventArgs e)@H_301_2@{@H_301_2@if(!IsPostBack)@H_301_2@{@H_301_2@//您的代码绑定第一个下拉列表
} } protected void DDLFirst_SelectedIndexChanged(object sender,EventArgs e) { if (DDLFirst.SelectedIndex > 0) { string FirstDDLValue = DDLFirst.SelectedItem.Value; // below your code to get the second drop down list value filtered on first selection } } protected void DDLSecond_SelectedIndexChanged(object sender,EventArgs e) { if (DDLSecond.SelectedIndex > 0) { string SecondDDLValue = DDLSecond.SelectedItem.Value; // below your code to get the third drop down list value filtered on Second selection } }