我在一个页面中有一个 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
这可行,如果我按下导出按钮,它会执行完整的回发并导出文件。
我在该页面上有另一个控件(日期控件),它更改了网格的内容,并且异步回发。
问题是,一旦我完成了一次异步回发,我就无法再次注册控件,并且导出按钮不再触发完整的回发。我已经尝试将 RegisterPostback 放在我能想到的许多不同的地方——RenderComplete、Init、Load、PreRender 等,但似乎无济于事。一旦它处于异步回发中,我就无法注册它。
我尝试过的其他一些代码:
For Each cmdItem As GridCommandItem In
uxResponse.MasterTableView.GetItems(GridItemType.CommandItem)
sc.RegisterPostBackControl(cmdItem.FindControl("ExportToCSVButton"))
我知道我可以完全关闭异步回发,但我更愿意拥有响应能力,这是唯一被破坏的东西。
有没有其他人遇到过这个问题并对其进行了排序?