其他过滤器上的过滤器下拉列表

本文关键字:过滤器 下拉列表 其他 | 更新日期: 2023-09-27 18:15:59

嘿,伙计们,我知道这已经讨论了很多,但我仍然没有得到它的工作。

我需要的是通过几个下拉列表过滤gridview,主要思想是"继续"过滤gridview。我的意思是,当我从ddl1中选择值时,ddl2根据ddl1中选择的值进行过滤。

也称为级联下拉列表,但我不想(不能)使用Ajax控制工具包…

还有其他解决方案吗?也许是方法protected void DropDownList2_SelectedIndexChanged(...)可以做到这一点,但我不知道如何使用它。

请帮助提前感谢。

其他过滤器上的过滤器下拉列表

请看下面。这只是给你一个想法……

DropDownList1_SelectedIndexChanged(...){
// get the ddl1 selected value
// filter the datasource used by dropdownlist2
// databind DropDownList2 
}
DropDownList2_SelectedIndexChanged(...){
    // get the ddl1 selected value 
    // get the ddl2 selected value 
    // filter the datasource used by GridView(using the DropDownList selected values)
    // databind GridView 
}

我建议使用Jquery来填充级联下拉列表。将此脚本添加到您的网页中。

$(document).ready(function () {

$ (" # & lt; % = ddlState。ClientID %>")。Change (function ()) {

var sourceddl = "<%= ddlState.ClientID %>";
var stateid = $("#<%= ddlState.ClientID %> option:selected").val();
var Stateid = { Stateid: stateid };
$.ajax({
                type: 'POST',
                url: 'YourCodeBehind.aspx/GetCounties',
                data: JSON.stringify(Stateid),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (result) {                       
                          if (data.d) { 
                          var options = [];                     
                          if (result.d) {
                          for (var i = 0; i < result.d.length; i++) {
                               options.push('<option value="',
                                              result.d[i].countyID, '">',
                                              result.d[i].countyName, '</option>');
                            }
                            $("#<%= ddlCounty.ClientID %>").html(options.join(''));
                        }                        
                     }
                },
                error: function () {
                    alert("Error! Try again...");
                }
            });
        });
    });

这里是同一个代码后面的webmethod

[WebMethod]
public static County[] GetCounties(int Stateid)
{
    County[] countiesArr = StatesCountyModel.GetCountyForState(Stateid).ToArray();
    return countiesArr;     
}

如果您是Jquery新手。通过http://Jquery.com了解如何使用它。

希望有帮助。

Praveen