GridView RowCommand中的e.CommandArgument解决办法
GridView RowCommand中的e.CommandArgumentC# code前台:asp:ButtonField CommandNameupdate HeaderTex
GridView RowCommand中的e.CommandArgument
C# code前台:<asp:ButtonField CommandName="update" HeaderText="操作" Text="编辑" />后台:protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e) { this.gv.PageIndex = e.NewPageIndex; this.gv.DataBind(); Bind(); }protected void gv_RowCommand(object sender, GridViewCommandEventArgs e) { int index = Convert.ToInt32(e.CommandArgument); if (e.CommandName == "update") { int i = int.Parse(this.gv.DataKeys[index].Value.ToString()); Label2.Text = i.ToString();//传递所点击绑定数据行的id值 Label lab = (Label)(this.gv.Rows[Convert.ToInt32(e.CommandArgument)].Cells[0].FindControl("Label1")); string str = lab.Text; this.tTitle.Text = this.gv.Rows[Convert.ToInt32(e.CommandArgument)].Cells[0].Text.Trim(); this.tContent.Text = str; }} 点击下一页出现如图所示的错误。请教高手是哪里有问题,谢谢!
[解决办法] <asp:ButtonField CommandName="update" HeaderText="操作" Text="编辑" />
应该转成模板列再把数据绑定到CommandArgument='<%# Bind("你的值") %>'上
[解决办法] if (e.CommandName == "update")
{
int index = Convert.ToInt32(e.CommandArgument); int i = int.Parse(this.gv.DataKeys[index].Value.ToString());
Label2.Text = i.ToString();//传递所点击绑定数据行的id值
Label lab = (Label)(this.gv.Rows[Convert.ToInt32(e.CommandArgument)].Cells[0].FindControl("Label1"));
string str = lab.Text;
this.tTitle.Text = this.gv.Rows[Convert.ToInt32(e.CommandArgument)].Cells[0].Text.Trim();
this.tContent.Text = str;
}
[解决办法] <asp:ButtonField CommandName="update" CommandArgument='<%# Bind("你的值") %>' HeaderText="操作" Text="编辑" />
这样写!
[解决办法] 探讨 C# code 前台:<asp:ButtonField CommandName="update" HeaderText="操作" Text="编辑" /> 后台: protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e) { this.gv.PageIndex = e.NewP……[解决办法] 探讨 引用: <asp:ButtonField CommandName="update" CommandArgument='<%# Bind("你的值") %>' HeaderText="操作" Text="编辑" /> 这样写! ButtonField中没有CommandArgument这个属性。[解决办法] GridViewRow grow = (e.CommandSource as Button).Parent.Parent as GridViewRow;
Label lb= grow.Cells[要查找控件所在列表中的列的索引].FindControl("Label1") as Label;
//Label lb = gvs.Rows[grow.RowIndex].Cells[要查找控件所在列表中的列的索引].FindControl("Label1") as Label;