2009-01-14 22 views
1

我知道,asp.net中繼器沒有客戶端對象模型,我們堅持改善許多具有中繼器/ gridview功能的頁面的性能,並通過服務器端代碼向其添加行。ASP.Net:如何使用DOM/Javascript將行添加到中繼器?

我們使用的UpdatePanel到ajaxify添加行中繼/ GridView控件的功能,但所花費的時間服務器的行程和渲染回在瀏覽器上是不能接受的。

是否有某種方式在此可在客戶方來完成,以提高添加行到中繼器/ gridview的性能。我們正在使用Asp.net 2.0

回答

0

我已經發現,Repeater控件不具有可以用來做客戶端的操作,比如添加行和東西的DOM,出了唯一的辦法(由於某些限制),我不得不是使用GridView控件,然後使用它的DOM,這就是我最終做的。

1

的UpdatePanel仍執行一整頁回傳,然後簡單地更新任何內容是在面板內部。那就是你的放緩來自哪裏。

至於使用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 
    } 
} 

你只需要在孔堵塞!

相關問題