0

コンテンツをラップする UpdatePanel を持つマスター ページを持つページに RadGrid があります。

したがって、最初のロード時にエクスポートボタンの 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

これは機能し、エクスポート ボタンを押すと、完全なポストバックが実行され、ファイルがエクスポートされます。

そのページに別のコントロール (日付コントロール) があり、グリッドのコンテンツを変更し、非同期でポスト バックします。

問題は、非同期ポストバックを 1 回実行すると、コントロールを再度登録できなくなり、エクスポート ボタンが完全なポストバックを起動しなくなることです。RenderComplete、Init、Load、PreRenderなど、考えられる限り多くの異なる場所にRegisterPostbackを配置しようとしましたが、役に立たないようです。非同期ポストバックに入ると、登録できません。

私が試した他のコード:

For Each cmdItem As GridCommandItem In 
                  uxResponse.MasterTableView.GetItems(GridItemType.CommandItem)
    sc.RegisterPostBackControl(cmdItem.FindControl("ExportToCSVButton"))

非同期ポストバックを完全にオフにできることはわかっていますが、応答性が欲しいのですが、これだけが壊れています。

他の誰かがこの問題を抱えていて、それをソートしましたか?

4

1 に答える 1

0

問題を回避してこれを並べ替えました: aspx ページを修正して、(動的に作成されていない) エクスポート ボタンを常に表示し、ポストバック用に登録し、CSS を使用して新しいボタンを古いボタンと同じ場所に配置しました。 .

特にいいわけではありませんが、それはクラッジとして機能します.

誰もより良い方法を知らない場合は、しばらくしてこれを答えとしてマークします。

于 2012-06-13T13:08:54.740 に答える