我有一个关于过滤器的简单问题.
我有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
- }
- }