积极答复者
采用ajax技术时,listview控件的使用问题,很头疼?

问题
-
webform的网站开发。
首先,排除掉updatapanel,这个东西的性能就不说了。
然后是MS ajax 的客户端编程,这里面用到了webservices,核心是scriptmanager,再配合webmethod。
可是,目前我的网页中大面积采用了Jquery,ajax也是采用Jquery的$.ajax()来做。现在问题就来了:
$.ajax()从服务器端获取到数据,json格式,现在要把数据填充到listview中,可是listview在服务端,而且它的数据源也有一定要求。
如果把整个listview对象作为数据传递给ajax请求,客户端对应的div标签下$("#showlist").html(data)就可以了。
但是这个具体怎么实现?如何把listview整个传递过去?另外这样会不会导致性能降低(有点像updatapanel)?
其实,我就是想省去在客户端写html字串控制列表样式的麻烦,同时也不用自己写分页,可以用DataPager控件配合listview。
所以最理想的状态是:客户端listview提供列表样式,DataPager提供分页,Jquery提供异步数据。
不知道可否实现?或者有什么好的替代方案?谢谢!!
答案
全部回复
-
服务器端可以直接将listview的绑定结果传回来就可以了
-----------------------------------------------------------
非常感谢您的解答!可是这样的传回方式不是ajax的,会造成页面的刷新。而我又用了jquery,没办法用asp.net ajax里基于scriptmanager的webmethod。
asp.net ajax(atlas)里好像是list绑定一个datasource,然后这个datasource通过webservices(一个asmx处理页面)取得服务器端的数据,然后
前台页面的listview通过:
<bindings>
<bindingdataPath="Name"property="text"/>
</bindings>
这种方式绑定取回的数据,这样就达到了异步的效果。
所以我想可不可以让listview绑定一个客户端的数据源,这个数据源就是通过jquery从服务器端取回的json格式数据(把json
数据格式手动的转化成listview支持的格式,比如datatable,dataset)。