解决UpdatePanel和Repeater搭配使用时出现行错位的问题

本文探讨了解决IE9环境下使用UpdatePanel和Repeater显示大量数据时出现文本错位的问题。通过发现每个td元素内部存在额外空格,并在页面加载完成后使用JavaScript去除这些空格,成功解决了样式混乱问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的项目里面使用了比较多的UpdatePanel和repeater搭配使用,但是在IE9里面常常会出现这样一个问题:当显示非常多的数据时,总有一行或几行错位,从而导致样式乱掉了。本来使用UpdatePanel是为了简化自己的工作并提升下用户体验,这样一来有违初衷。其实完全可以不使用UpdatePanel,而是手动写ajax去实现,但是时间比较紧,而用到UpdatePanel的地方的确比较多,改起来比较费时,还是打算在此基础上去修改,通过在IE9下查看源文件发现了每一个td的文本都有很多空格,所以尝试了使用js在页面加载完成以后去除没一个td里面的空格,但是这并没有起作用,后来同事说是td与td之间的空格造成的,果断尝试了下,奏效了,呵呵!具体实现如下:

//套用repeater
<table id="evtList"> <thead> <tr><th></th></tr> ... </thead> <tbody> <asp:Repeater ID="rptList" runat="server"> <ItemTemplate> <tr><td></td></tr> ... </ItemTemplate> </asp:Repeater> </tbody> </table>

在加载完成后,后台注册一个js脚本,如下:

    var bro=$.browser;//只需要对IE9进行处理
function formatTable() {
if(bro.msie&&bro.version=="9.0")
{ $.each($(
"#evtList tr"), function (i, item) { //遍历每一行 $(item).html($.trim($(item).html())); });
} }

其实方法就是这么简单,呵呵!从网上搜了很多,没有很清楚的答案,这里记下备用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值