我有一个嵌套的gridview,并且在处理rowcommand事件时遇到了问题。语言是vb.net。
面板 gridview1 模板字段 gridview2 模板字段 图像按钮
所以在上面的图示中,图像按钮应该执行给定数据行的删除。这工作;但是,我一直在第二个gridview上收到错误:
JavaScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:GridView' gvSItems'已解决的事件RowDeleting未被处理。
这是在第二个gridview rowcommand中触发的,我获取该行的id并将其传递给执行行删除的方法。
我尝试添加:handle gridview2.rowcommand但是gridview没有找到,因为它是嵌套的。
任何想法如何让它发挥作用?
答案 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