2013-03-20 2 views
0

У меня есть этот код, где одним нажатием кнопки я хочу получить Empid всех этих флажков, которые отмечены в каждой строке. но строковая переменная str всегда пуста и не принимает никакого значения. Почему это так? любезно помочьСтроковое значение пустое для каждого флажка, установленного в gridview

protected void btn_3id_Click(object sender, EventArgs e) 
    { 
     string str = ""; 
     string srr = ""; 

     for (int i = 0; i < GridView1.Rows.Count; i++) 
     { 
      CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1"); 
      if (chk.Checked) 
      { 
       if (str == "") 
       { 
        str = GridView1.Rows[i].Cells[0].Text.ToString(); 
       } 
       else 
       { 
        srr = str + "," + GridView1.Rows[i].Cells[1].Text.ToString(); 
       } 
      } 
     } 
     Session["card_id"] = str; 
     Response.Redirect("ID.aspx"); 
    } 
} 
+0

http://stackoverflow.com/q/15515279/961113 – Habib

+0

я только спросил этот вопрос также ... string str всегда пуст – Robin

+0

Положите точку останова и посмотрите, что вы получаете в 'GridView1.Rows [i] .Cells [0]', также в части else, которую вы получаете значение из 'Cell [1 ] ', это проблема? – Habib

ответ

2

, если ваше имя управления Ярлык затем использовать

str = ((Label)GridView1.Rows[i].FindControl("yourlabelid")).Text; 

вместо

str = GridView1.Rows[i].Cells[0].Text.ToString(); 
Смежные вопросы