Davvero strano, questo.La tabella HTML non viene visualizzata correttamente in IE9
sto usando un asp:Repeater
per creare una tabella HTML, in questo modo:
Markup:
<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
Questa mostra bene in Firefox e Chrome, e la maggior parte del tempo in IE. Tuttavia a volte per tabelle più grandi (oltre 50 righe) IE si comporta in modo strano. Sembra di aggiungere una cella vuota ...
... ma non c'è niente nella HTML- Ho controllato utilizzando gli strumenti di sviluppo. La riga errata ha una marcatura identica alle righe corrette, ad eccezione del testo della cella. Inoltre, se elimino la riga errata, quella in alto inizia a mostrare invece un'alternativa errata.
Per favore qualcuno può suggerire perché IE lo sta rendendo in questo modo e cosa posso fare per fermarlo.
Sembra che questo sia un problema HTML/CSS/IE, non correlato a ASP. Qualche possibilità di replicare il problema in un JS Fiddle? (http://jsfiddle.net/) –
Ho copiato l'HTML in jsfiddle. Stranamente, sembra rendere bene lì. – Urbycoz
Solo un pensiero: IE rende la pagina in modalità Quirks? Se apri gli Strumenti per sviluppatori nella pagina, quali sono le modalità Browser e Document documentate a destra della barra dei menu? –