2013-11-21 2 views
0

2 개의 MS SQL 테이블 명사와 동사가 있습니다. ASP.net 페이지에서 언 바운드 항목 동사 (선택된 값 1)와 명사 (선택된 값 2)가있는 드롭 다운 목록이 있습니다. 나는 텍스트 박스와 검색 버튼과 언 바운드 gridview1을 가지고있다.드롭 다운 조건으로 작동하는 텍스트 상자 검색을 얻을 수 없습니다.

텍스트 상자 1에 텍스트를 입력 할 수 있고 드롭 다운 선택에 따라 동사 테이블이나 명사 테이블을 검색하여 그 결과를 Gridview1에 반환하고 싶습니다. 고마워요

여기는 제가 지금까지 가지고있는 것입니다, 그것은 오류를 throw하지 않습니다, 그냥 첫 번째 문을 넘어 작동하지 않습니다. 내 연결 문자열 코드는 생략되었지만 vid라고합니다.

protected void Button1_Click(object sender, EventArgs e) 
{ 
    if (DropDownList1.SelectedValue == "1") 
    { 
     string str = "select * from verb where(english like '%' + @search + '%')"; 

     SqlCommand xp = new SqlCommand(str, vid); 
     xp.Parameters.Add("@search", SqlDbType.NVarChar).Value = TextBox1.Text; 

     vid.Open(); 
     xp.ExecuteNonQuery(); 
     SqlDataAdapter da = new SqlDataAdapter(); 
     da.SelectCommand = xp; 
     DataSet ds = new DataSet(); 
     da.Fill(ds, "verb"); 
     GridView1.DataSource = ds; 
     GridView1.DataBind(); 
     vid.Close(); 

     if (DropDownList1.SelectedValue == "2") 
     { 
      string stx = "select * from noun where(english like '%' + @search + '%')"; 
      SqlCommand xr = new SqlCommand(stx, vid); 

      vid.Open(); 
      xr.ExecuteNonQuery(); 
      SqlDataAdapter dr = new SqlDataAdapter(); 
      dr.SelectCommand = xr; 
      DataSet dss = new DataSet(); 
      dr.Fill(dss, "noun"); 
      GridView1.DataSource = dss; 
      GridView1.DataBind(); 
      vid.Close(); 
     } } } 
+0

될 수 있습니다 DropDownList1.SelectedValue

if (DropDownList1.SelectedValue == "1") { //Populated from verb table if (DropDownList1.SelectedValue == "2") { //Populated from noun table } } 

같은 경우 변경이 중첩 사용하고 있습니다. SelectedValue == "1")', 그러면'SelectedValue'의 값은 무엇입니까? –

답변

1

당신은 (DropDownList1 경우`행에 브레이크 포인트를 넣어 경우 1 또는 2

if (DropDownList1.SelectedValue == "1") 
{ 
    //Populated from verb table 
}else if (DropDownList1.SelectedValue == "2") 
{ 
    //Populated from noun table 
} 
+0

감사합니다! 고맙습니다! Satpal 감사합니다! 필요한 모든 것. –

관련 문제