1

asp.net リピーターにはクライアント側のオブジェクト モデルがないことはわかっています。サーバー側のコードによって行を追加する機能を備えたリピーター/グリッドビューを持つ多くのページのパフォーマンスを改善することに取り組んでいます。

リピーター/グリッドビューに行を追加する機能を ajaxify するために updatepanels を使用しましたが、サーバーのトリップとブラウザーでのレンダリングにかかる​​時間は許容できません。

これをクライアント側で実行して、リピーター/グリッドビューに行を追加するパフォーマンスを向上させる方法はありますか? Asp.net 2.0を使用しています

4

2 に答える 2

1

UpdatePanels は引き続きフル ページ ポストバックを実行し、パネル内のコンテンツを更新するだけです。それがあなたの減速の原因です。

AJAX を使用して高速化する場合は、直接 AJAX 呼び出しを使用して、必要なデータのみを要求することをお勧めします。これは、ASP.NET AJAX で実行できます。

page_load イベント ハンドラーで、AJAX を登録します。(VB.NET)

Ajax.Utility.RegisterTypeForAJAX(GetType(ThisPageClass))

次に、AJAX からアクセスできる関数を次のように作成します。

<Ajax.AjaxMethod()> _
Public Function GetNewRows() As String
    ''//do stuff
    Return jsonObj
End Function

次に、クライアント側で、次のように呼び出すことができます。

ThisPageClass.GetNewRows(someCallbackFunction);

function someCallbackFunction(result) {
    var json = ParseJSON(result.value);
    for(var i=0; i<json.length; i++) {
        // do whatever
    }
}

穴を塞ぐだけ!

于 2009-01-14T07:14:32.157 に答える