ajax刷新ASP.NET Repeater控件的数据
使用repeater控件时,遇到这样一个问题,想使用ajax来请求页面来的后台,使repeater的数据源重新绑定,却发现怎么绑定都不行。 研究了半天,研究出以下两种方法: 第一种,利用js使页面回发主动回发一次,回发的时候将参数加在url后面带回后台,在后台接受到参数,查询数据,重新绑定给repeater。 js代码: 这里先找到你需要触发回发的那个控件,我这里是一个class为button的input控件 $(".button").click(function(){ //这里的href是自己,在后面加上参数,这样就能在后台获取到参数信息 window.location.href = "/ActivitiWorkFlow/WFVersion.aspx?&f=QueryWFDefinitionList&wfname=" + encodeURI(title) + "&start=0&limit=5"; }); 后台C#代码; protected void Page_Load(object sender,EventArgs e) { varvar fun = Request["f"];//这里来获取参数 if(string.IsNullOrEmpty(fun))//这里判断是否接受到了参数,如果不判断就使用,可能会抛出异常 { return; } switch (fun) } 这样就可以利用js来控制repeater的数据源。 第二种:将新的数据源生成的html代码发送到前台,手动从js里将html代码加入repeater的tbody中 js代码: //下面是利用ajax将返回的内容以dom的形式插进当前页面 这里发送一个ajax到后台,请求数据,返回的msg是html代码。直接 找到repeater的tbody加入msg就可以了。 C#代码: protected void Page_Load(object sender,HttpContext.Current); //利用ajax来刷新repeater的数据时,可以使用下面的代码 //这段代码必须写在finaly中,否则会报线程错误 //Response.End(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |