日期:2014-05-17  浏览次数:20360 次

不知道怎么给标题命名了
数据库表:id,name
绑定到gridview,
gridview第一列绑定name;第二列文本框;第三列按钮,用来修改
修改按钮的CommandArgument绑定id


功能为:点击修改按钮,根据id修改name为文本框的文本。

问题:怎么获取文本框的文本

------解决方案--------------------
FindControl()as Textbox
不可以吗?

------解决方案--------------------
<asp:Button ID="btn" CommandArgument='<%# Container.DataItemIndex %>' CommandName="Update" runat="server" Text="修改" />
protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Update")
{
TextBox txt = ((TextBox)gvSelect.Rows[Convert.ToInt32(e.CommandArgument.ToString())].FindControl("name文本框的ID"));
string Name = txt.Text;
}
}

------解决方案--------------------
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string id = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
string name= ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtName")).Text.Trim();
//然后修改......
//.............
}
------解决方案--------------------
你在GridView1_RowUpdating中处理,就是处理的当前行,你获取的肯定是当前行的id喽............
------解决方案--------------------
探讨
引用:
<asp:Button ID="btn" CommandArgument='<%# Container.DataItemIndex %>' CommandName="Update" runat="server" Text="修改" />
protected void gv_RowCommand(object sender, GridViewCommandEventArg……

------解决方案--------------------
忘了说了,前题是你数据源里面有查ID