2010-04-20 26 views
1

我DDL這在選擇改變了它執行一些代碼 但是當我試圖這樣做,這是不行之有效,當我檢查,我發現DDL中選擇值的原因= 0我也做得很好,這是我的代碼下拉列表中有零值

protected void DDlProductFamily_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (DDlProductFamily.DataValueField.Contains("ProductCategory_Id")) 
      using (SqlConnection Con = Connection.GetConnection()) 
    { 
     SqlCommand Com = new SqlCommand("GetListViewByProductCategory", Con); 
     Com.CommandType = CommandType.StoredProcedure; 
     Com.Parameters.Add(Parameter.NewInt("@ProductCategory_Id", DDlProductFamily.SelectedValue.ToString())); 
     SqlDataAdapter DA = new SqlDataAdapter(Com); 
     DA.Fill(dt); 
     DataList1.DataSource = dt; 
     DataList1.DataBind(); 
    } 
} 
+0

你有問題嗎?您沒有提出任何問題或提出任何問題。 – Oded 2010-04-20 09:20:53

+0

問題是DDL有沒有價值,沒有在這裏執行代碼 – Myworld 2010-04-20 11:52:07

回答

0

SelectedIndexChanged事件觸發回發/回調。如果您希望在從DropDownList中選擇一個項目時觸發它,請確保您有AutoPostBack =「true」。例如:

< ASP:DropDownList的OnSelectedIndexChanged =「DDlProductFamily_SelectedIndexChanged」的AutoPostBack =「」 ......

如果你不想它,當你選擇一個項目射擊,則必須引起回發(通過點擊一個按鈕等),更改選定的項目後,它應該會觸發。

+0

問題 保護無效DDlProductFamily_DataBound(對象發件人,EventArgs的){ 如果 (的Request.QueryString [ 「CATEGORY_ID」]!= NULL){ DDlProductFamily .Items.Insert(0,new ListItem(「 - Filter WithProduct Category--」,「0」)); (Request.QueryString [「ProductCategory_Id」]!= null) } DDlProductFamily.Items.Insert(0,new ListItem(「 - Filter WithProduct Family--」,「0」)); } } – Myworld 2010-04-22 09:06:56

+0

但我沒有這麼做? – Myworld 2010-04-22 09:07:33