如何处理嵌套gridview的gridview rowcommand

时间:2014-08-08 20:43:41

标签: asp.net vb.net gridview

我有一个嵌套的gridview,并且在处理rowcommand事件时遇到了问题。语言是vb.net。

面板  gridview1   模板字段    gridview2     模板字段      图像按钮

所以在上面的图示中,图像按钮应该执行给定数据行的删除。这工作;但是,我一直在第二个gridview上收到错误:

JavaScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:GridView' gvSItems'已解决的事件RowDeleting未被处理。

这是在第二个gridview rowcommand中触发的,我获取该行的id并将其传递给执行行删除的方法。

我尝试添加:handle gridview2.rowcommand但是gridview没有找到,因为它是嵌套的。

任何想法如何让它发挥作用?

1 个答案:

答案 0 :(得分:0)

您可以将OnRowCommand处理程序添加到GridView的标记中:

<asp:GridView ID="gvNested" runat="server"
    OnRowCommand="gvNested_RowCommand">
</asp:GridView>

或者将处理程序添加到父GridView的OnRowDataBound处理程序中的嵌套GridView中:

Protected Sub gvParent_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvParent.RowDataBound

    If (e.Row.RowType = DataControlRowType.DataRow) Then

        Dim gvNested As GridView = e.Row.FindControl("gvNested")
        AddHandler gvNested.RowCommand, AddressOf gvNested_RowCommand

    End If

End Sub