2009-01-14 40 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 
    } 
} 

你只需要在孔堵塞!

相关问题