asp.net点击gridview的一行代码显示到textbox框中

来源:百度知道 编辑:UC知道 时间:2024/07/03 23:29:58
代码:protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

this.txtid.Text = this.GridView1.SelectedRow.Cells[0].ToString();
this.txtname.Text = this.GridView1.SelectedRow.Cells[1].ToString();
this.txtsex.Text = this.GridView1.SelectedRow.Cells[2].ToString();
this.txtage.Text = this.GridView1.SelectedRow.Cells[3].ToString();

}
而且我在gridview中也加了一个commandfiled,选择按钮并且设定了
<asp:CommandField ShowSelectButton="True" />
但是运行后,点击一条记录,所有的textbox框内都显示System.Web.UI.WebControls.DataControlFieldCell
这是为什么,请各位高手帮帮我,谢谢,在线等
我按照两位的说法试了试还是不行呀,能不能给我一个可运行的代码?万分感谢

请将
this.txtid.Text = this.GridView1.SelectedRow.Cells[0].ToString();
等改为:
this.GridView1.SelectedRow.Cells[0].Text.ToString();

出错原因:因为没有Text 所以你取到的是DataControlFieldCell对象。。

----
将事件绑定在onselectedindexchanging上
后台这样取值:

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
this.txtid.Text = this.GridView1.Rows[e.NewSelectedIndex].Cells[0].Text.ToString();
}

注意e的参数类型是:GridViewSelectEventArgs 这样是可以取到值的。。如果你确实取不到值 那请用Rows[e.NewSelectedIndex]的FindControl()再试试。。

你用错事件了……

应该放置一个选择按钮……

然后设置一个RowCommand事件……

在这个事件里写应该就没有问题了……