我有一个关于过滤器的简单问题.
我有4个下拉列表,用于从 MySQL数据库表中过滤我的Web应用程序中的数据.
已选择第一个下拉列表,仅显示一个project_id,但其他下拉列表显示数据库中的所有可能值 – 这是我到目前为止所做的.
我有4个下拉列表,用于从 MySQL数据库表中过滤我的Web应用程序中的数据.
已选择第一个下拉列表,仅显示一个project_id,但其他下拉列表显示数据库中的所有可能值 – 这是我到目前为止所做的.
但我想只显示所选特定项目的数据值.
解决方法
查看以下链接以填充级联下拉列表.
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>
//代码背后
protected void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
//您的代码绑定第一个下拉列表
} } 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 } }