2011-11-29 113 views
0

嗨,我知道這個問題已經討論過了,但我仍然沒有得到它的工作。在其他過濾器上過濾下拉列表

我需要的是通過幾個下拉列表過濾gridview,主要想法是「繼續」過濾gridview。我的意思是,當我從ddl1中選擇值時,則根據ddl1中的選定值過濾ddl2。

也稱爲級聯下拉列表中,但我不希望(不能)使用Ajax控件工具包...

到任何其他解決辦法?也許方法 protected void DropDownList2_SelectedIndexChanged(...)可以做到這一點,但我不知道如何使用它。

請幫忙 在此先感謝。

+1

如果'ddl1'有'真autopostback''ddl2'可以很容易地根據''中ddl1_SelectedIndexChanged' ddl1'的'SelectedValue'用'code'建設。 – Bastardo

+0

是的,但我不知道需要的代碼.. – Pepys

+0

佩皮斯我很抱歉,但這不是一個地方要求代碼這是一個地方尋求幫助,當你寫的代碼有問題,你可以'解決。 – Bastardo

回答

2

看看下面。這只是給你一個想法...

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 
} 
+0

這是更喜歡它;) 我要試試這個,但後來 感謝花花公子 – Pepys

2

我會建議使用jquery來填充級聯下拉列表。將此腳本添加到您的網頁。

$(document).ready(function() { 

$( 「#<%= ddlState.ClientID%>」)。變化(函數(){

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瞭解如何使用它

希望能幫助到你。

普利文

+0

謝謝,但我真的不覺得自己現在的學習jQuery的:) 不是我喜歡的.. – Pepys

+0

沒問題!你可以在這裏使用我們的老朋友javascript。看到這個http://forums.asp.net/t/1413113.aspx – PraveenLearnsEveryday

+0

嘿嘿,這似乎很酷...但我真的不明白這一點。像數據庫連接,列等等什麼地方... 這是與Gridview的工作,因爲這是主要想法 - 獲取gridview fitered:? 對不起,這是愚蠢的問題,但它的Java腳本:) – Pepys