C#,ASP.Net ,如何在GridView中取值

在GirdView中选择了一行,进行编辑,原本那行数据是 AA BB CC,把它改成了11 22 33;点击更新后
string XXX=((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[0].Controls[0])).Text.ToString();
是想用XXX取到11这个数值而不是原来的值AA;
可XXX取得的值是AA,而不是11;
为什么取不到11?以及如何取得更改后的值~

第1个回答  2011-10-26
给你说一种思路,你可以在 TemplateField 前台页面中添加一个控件,将起隐藏
,后台获取该控件后取值,这样后台代码简洁易读、许多
<asp:TemplateField HeaderText="书名">
<ItemTemplate>
<%#Eval("Book.Title") %>
<asp:Label ID="lblBookId" runat="server" Visible="false" Text='<%#Eval("Book.Title") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

后台代码
//获取控件取值 Label lblId = (Label)gvCart.Rows[e.RowIndex].FindControl("lblBookId");
第2个回答  2011-10-26
page_load函数里加一句
if(!ispostback)
{

}本回答被提问者采纳
第3个回答  2011-10-26
string XXX= ((TextBox)(GridView1.Rows[e.RowIndex].FindControl("txtboxid"))).Text.ToString().Trim();
相似回答