本当に奇妙なものです。IE9でHTMLテーブルが正しく表示されない
私はそうのように、HTMLテーブルを作成するために、asp:Repeater
を使用しています:
マークアップ:
<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で罰金表示しますとクロム、そしてほとんどの時間IEで。しかし、大規模なテーブル(50以上の行)では、IEが奇妙に動作することがあります。 ...空白のセルを追加する
を表示されます...しかし、私は、開発者ツールを使用してチェックしましたHTML-には何もありません。間違った行は、セルテキストを除き、正しい行と同じマークアップを持ちます。さらに、間違った行を削除すると、上の行が正しく表示されなくなります。
地球上でなぜIEがこのようにレンダリングしているのか、そして私がそれをやめるために何ができるのかを誰かが示唆できますか?
これはHTML/CSS/IEの問題で、ASPに関連していないようです。あなたはJSフィドルで問題を再現することができますか? (http://jsfiddle.net/) –
私はjsfiddleにHTMLをコピーしました。不思議なことに、それはそこで大丈夫になるようです。 – Urbycoz
ちょっと考えて - IEはQuirksモードでページをレンダリングしていますか?このページで開発者ツールを開くと、メニューバーの右側にブラウザモードとドキュメントモードが表示されますか? –