日期:2014-05-17  浏览次数:20419 次

asp.net中数据重新绑定问题
我在页面中使用服务器控件Repeater,然后我在后台进行了数据绑定,Repeater里面每条记录都可以单独删除功能,我用ajax进行删除数据,当ajax删除成功后,需要重新绑定Repeater数据。删除的那条数据就没有了。
问题,ajax如果
JScript code
$.ajax({
    ……
    success:function(str){ 
      //删除成功后执行
      if(str=="true"){
        alert("删除成功!")
        [color=#FF0000]//这里如何重新调用Repeater绑定的后台的方法[/color]     
      }

    }
});

后台:
C# code

 public void RepeaterBind()
    {
        DataSet ds = data.DataBind("table", "*", "", "[ID] asc");//此方法返回ds数据对象
        RepeaterData.DataSource = ds.Tables[0].DefaultView;
        RepeaterData.DataBind();          
    }



有其他的方法能实现也行。

------解决方案--------------------
RepeaterBind()
1:这个是后台代码(也就是服务端代码),只有客户端主动请求时才执行。
2:客户端接收服务端的回发,页面绑定元素才可以重新填充数据。


这2个方面就构成了一个刷新页面。所以如果对用户体验要求不高的话,直接在if(str=="true"){
alert("删除成功!")
//这里加上
this.localtion.reload(); 
}

不然,你就要自己在客户端写HTML代码填充了
------解决方案--------------------
一定要用jquery吗?用.net带的ajax的空间,可以实现从后台重新绑定数据,如果一定要用jquery的话,那就别用Repeater了,换成jquery去绑定数据输出到前台页面。
------解决方案--------------------
ajax
分页例子
http://dotnet.aspx.cc/file/GridView-Ajax-Paging.aspx
------解决方案--------------------
我感觉你这种比较乱.
要么全用后台服务器端.
要么全用前台Ajax操作.