无法获取GridView模板列中TextBox中的值,哪位高手帮帮忙看看。
GridView的第二列是模板列,有一个TextBox,第一列是绑定列。我用下列代码遍历TextBox中的值可始终是空的。int iNum=GridView1.Rows.Count;
for (int i = 0; i < iNum; i++)
{
GridViewRow selectedRow = GridView1.Rows[i];
TableCell contactName = selectedRow.Cells[0];
TableCell tempCell=selectedRow.Cells[1];
TextBox textBox1 = (TextBox)tempCell.FindControl("TextBox1");
strNum = textBox1.Text;
strTitle = contactName.Text;
hash.Add(strTitle, strNum);
}
}
是不是模板列和绑定列不能混用啊。 --------------------编程问答-------------------- 没有问题啊.
--------------------编程问答-------------------- 对啊,我也搞得莫名其妙啊。 --------------------编程问答-------------------- 解释一下,什么时候应该有值。 --------------------编程问答-------------------- 这段代码是写在哪里的?此时有没有绑定数据?
--------------------编程问答-------------------- 写在页面的另一个Button的Click事件里,试了很久,终于解决了,谢谢大家:
代码改为下面的:
String strTitle, strNum;
Hashtable hash=new Hashtable(50);
int iNum=GridView1.Rows.Count;
for (int i = 0; i < iNum; i++)
{
CheckBox check = (CheckBox)GridView1.Rows[i].Cells[0].Controls[1];
if (check.Checked)
{
TextBox textQuantity = (TextBox)GridView1.Rows[i].Cells[2].Controls[1];
strTitle = GridView1.Rows[i].Cells[1].Text;
strNum = textQuantity.Text;
hash.Add(strTitle, strNum);
}
}
Session["basket"] = hash; --------------------编程问答-------------------- 为什么我使用了上面的方法,仍然是没办法获取到绑定的TextBox中修改的值呢??
补充:.NET技术 , ASP.NET