真的很奇怪,这个.
我正在使用asp:Repeater创建一个HTML表,如下所示:
标记:
<asp:Repeater ID="myRpt" runat="server"> <HeaderTemplate> <table id="myGrd" border="0" style="cursor:pointer;width:100%; background-color:white;" cellpadding="2" cellspacing="0"> <tbody> </HeaderTemplate> <ItemTemplate> <tr onclick="criteria.rowClicked(this);"> <td style="border:solid 1px black;"> <asp:Literal ID="lblName" runat="server"></asp:Literal> </td> <td style="border:solid 1px black;width:200px;"> <asp:Literal ID="lblRange" runat="server"></asp:Literal> </td> <td style="display:none;" > <asp:Literal ID="lblMisc" runat="server"></asp:Literal> </td> </tr> </ItemTemplate> <FooterTemplate> </tbody> </table> </FooterTemplate> </asp:Repeater>
VB:
Public Sub populateGrid(ByVal ds As DataSet) 'ds is just made from a simple select query myRpt.DataSource = ds myRpt.DataBind() End Sub Private Sub myRpt_ItemDataBound(ByVal sender As Object,ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles myRpt.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then Dim lblName As Literal = e.Item.FindControl("lblName") Dim lblRange As Literal = e.Item.FindControl("lblRange") Dim lblMisc As Literal = e.Item.FindControl("lblMisc") lblName.Text = "<font style='font-size:10pt; font-family:arial;'>" & Trim(e.Item.DataItem("Name")) & "</font>" lblRange.Text = "<font style='font-size:10pt; font-family:arial;'>" & Trim(e.Item.DataItem("Range")) & "</font>" lblMisc.Text = "<font style='font-size:10pt; font-family:arial;'>" & Trim(e.Item.DataItem("Miscellaneous")) & "</font>" End If End Sub
这在Firefox和Chrome中显示得很好,大多数时候在IE中显示.但是有时对于较大的表(50行),IE表现得很奇怪.它似乎添加了一个空白单元格……
…但HTML中没有任何内容 – 我使用开发人员工具进行了检查.不正确的行与正确的行具有相同的标记,但单元格文本除外.更重要的是,如果我删除了不正确的行,那么它上面的那行开始显示错误.
请有人建议为什么IE在这个地方渲染它,以及我能做些什么来阻止它.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。