Asp.net 如何在Telerik RadGrid的AsyncPostback中注册PostBackControl

Asp.net 如何在Telerik RadGrid的AsyncPostback中注册PostBackControl,asp.net,vb.net,telerik,Asp.net,Vb.net,Telerik,我在一个页面中有一个RadGrid,其中有一个母版页,内容周围有一个UpdatePanel 我已成功地在第一次加载时为其上的导出按钮运行RegisterPostbackControl,因此: Private Sub uxGrid_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) If TypeOf e.Item Is GridCommandIt

我在一个页面中有一个RadGrid,其中有一个母版页,内容周围有一个UpdatePanel

我已成功地在第一次加载时为其上的导出按钮运行RegisterPostbackControl,因此:

Private Sub uxGrid_ItemCreated(ByVal sender As Object, 
                               ByVal e As GridItemEventArgs)
    If TypeOf e.Item Is GridCommandItem Then
        Dim sc As ScriptManager = CType(Master.FindControl("Sc"), ScriptManager)
        RegisterPostBackControl(e.Item.FindControl("ExportToCSVButton"))
    End If
End Sub
这是可行的,如果我按下导出按钮,它会执行完整的回发并导出一个文件

我在那个页面上有另一个控件(日期控件),它可以更改网格的内容,并且可以异步发回

问题是,一旦我完成了一次异步回发,我就无法再次注册控件,导出按钮也不再触发完整回发。我试着将RegisterPost放回我能想到的尽可能多的不同位置——RenderComplete、Init、Load、PreRender等等,但似乎没有用。一旦它在异步回发中,我就无法注册它

我尝试过的其他一些代码:

For Each cmdItem As GridCommandItem In 
                  uxResponse.MasterTableView.GetItems(GridItemType.CommandItem)
    sc.RegisterPostBackControl(cmdItem.FindControl("ExportToCSVButton"))
我知道我可以完全关闭异步回发,但我更希望有响应能力,而这是唯一一个被破坏的东西


还有其他人遇到过这个问题并进行了排序吗?

我绕过了这个问题进行了排序:我修改了aspx页面,使其始终有一个导出按钮(不是动态创建的),注册该按钮以进行回发,并使用CSS将新按钮与旧按钮放在同一位置

不是特别好,但它的工作方式很混乱

如果没有人知道更好的方法,我会在一段时间内将此标记为答案