GridView中EditButton的OnClick事件

时间:2012-04-17 09:01:40

标签: c# asp.net gridview

我正在使用OnClick

EditButton的{​​{1}}事件
GridView

但是我得到了例外:

  

具有相同ID的多个控件< lblUserName'被找到。 FindControl要求控件具有唯一ID。

我尝试使用foreach循环,但这也没有用。

2 个答案:

答案 0 :(得分:0)

使用模板字段添加按钮 喜欢

<asp:TemplateField HeaderText="Edit">
    <ItemTemplate>
        <asp:LinkButton runat="server" ID="lnkEdit" Text="Edit"
            CausesValidation="false" CommandArgument='<%# Container.DataItemIndex %>'
            OnCommand="lnkEdit_Command"></asp:LinkButton>
    </ItemTemplate>
</asp:TemplateField>

并在代码背后:

protected void lnkEdit_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
    id = e.CommandArgument.ToString();
    --add your code
}

你将获得id

中的行索引

答案 1 :(得分:0)

我通过在编辑按钮单击事件上编写编辑功能并获得所选行的行ID来解决。

int rindex = (((GridViewRow)(((Button)(sender)).Parent.BindingContainer))).RowIndex;
 Button EditButton = (Button)gvUserMaster.Rows[rindex].FindControl("btnEdit");

rindex为您提供rowindex,EditButton为您提供所选行的ID。