单击GridView中的编辑按钮将错误的行放入编辑模式

时间:2014-01-14 04:00:35

标签: asp.net gridview row edit

我有gridview使用存储过程从数据库中的一个表中放入数据。 单击编辑按钮后,将发生回发,刷新gridview上的数据,错误的行以edir模式显示。

我发现原因是点击编辑链接javascript:__doPostBack('GridView','Edit$0')会显示在状态栏上,这是一个问题。 Edit$0表示行的绝对值,当回发从数据库获取数据时,错误行显示在编辑模式中...

我认为解决方案将基于非行号而不是所选行的一些唯一值进行编辑。

如果有人回答,请提供帮助。

1 个答案:

答案 0 :(得分:0)

如果您使用的是gridview,我建议使用原生的OnRowEditing =“GridViewEditEventHandler” 然后在

背后的代码中
    protected void TaskGridView_RowEditing(object sender, GridViewEditEventArgs e)
  {
    //Set the edit index.
    TaskGridView.EditIndex = e.NewEditIndex;
    //Bind data to the GridView control.
    BindData();
  }

请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowediting(v=vs.110).aspx

但是,如果出于某种原因,当您按下编辑按钮然后将Itemtemplate更改为显示/隐藏值时,您正在创建OnClick功能,我建议您这样做

GridViewRow gvr = (GridViewRow)(((Button)e.CommandSource).NamingContainer);


            int RowIndex = gvr.RowIndex;

从那里你可以做.findcontrol来找到你想要的特定项目: TextBox txtbox =(TextBox)TaskGridView.Rows [RowIndex] .FindControl(“textBoxID”);

希望这有帮助