2010-04-20 2 views
1

내가 선택한 ddl 어떤 코드가 을 실행했을 때 그것을 변경했는데 내가 그걸 시도했는데 잘 때 내가 선택한 이유는 그 ddl 발견 선택한 값 = 0에서 일을했다 잘 작성되었으며 이것이 내 코드입니다드롭 다운 목록이 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

+0

문제 DDL 값되지이었다 보호 여기서 코드 – Myworld

답변

0

SelectedIndexChanged 이벤트는 포스트 백/콜백시에 발생합니다. 실제로 DropDownList에서 항목을 선택할 때 해당 항목을 실행하려면 AutoPostBack = "true"인지 확인하십시오. 예를 들어 :

<는 ASP : DropDownList로 OnSelectedIndexChanged = 당신이 항목을 선택하면 화재를 원하지 않는 경우에는 AutoPostBack은 = "사실"...

, 다음이 원인이해야한다 "DDlProductFamily_SelectedIndexChanged" 선택한 항목을 변경 한 후 다시 게시 (버튼을 클릭하는 등)하여 실행해야합니다.

+0

에게 이 문제를 실행하지 않은 무효 DDlProductFamily_DataBound (객체 송신자있는 EventArgs E) { 경우 (Request.QueryString을 [ "CATEGORY_ID"]! = NULL) { DDlProductFamily .Items.Insert (0, 새 ListItem ("- Filter WithProduct Category--", "0"))); } if (Request.QueryString [ "ProductCategory_Id"]! = null) { DDlProductFamily.Items.Insert (0, 새 ListItem ("- 필터 WithProduct 제품군 -", "0"))); } } – Myworld

+0

하지만 그 이유는 무엇입니까? – Myworld

관련 문제