1

500行のテーブルがあります。まず、テーブルの出力をテストするためにロード時にリピーターをバインドしました。テーブルは完全に表示されます。しかし、私の主な目的は updatepanel でリピーターを使用することなので、ユーザーが [表示] をクリックすると、updatepanel は 500 行のテーブルを表示します。表は表示されますが、何らかの理由で Internet Explorer 9 で一部の列がランダムに位置合わせされていません。firefox でテストしたところ、正常に表示されるようです。

何か案は?

ここに私が使用するいくつかのスニペットコードがあります..

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:LinkButton ID="lnkbreakdown" runat="server" OnClick="lnkbreakdown_Click">Show Breakdown</asp:LinkButton>
        <asp:Repeater ID="tblstatementhistory" runat="server">
            <FooterTemplate>
                </table>
                <br />
            </FooterTemplate>
            <HeaderTemplate>
                <table cellpadding="5" cellspacing="0" id="tblstatementhistory" style="margin-left: 3px;">
                    <tr>
                        <th>
                            Worker Name
                        </th>
                        <th>
                            Reference No.
                        </th>
                        <th class="smallcolumn">
                            Method
                        </th>
                        <th>
                            Sent On
                        </th>
                        <th class="largecolumn">
                            Delivery Status
                        </th>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td><%# Container.DataItem("fullname")%>&nbsp;</td><%# vbCrLf%>
                    <td><%# Container.DataItem("xxh")%>&nbsp;</td><%# vbCrLf%>
                    <td><%# getMethod(CheckDBNull(Container.DataItem("EMAILID"), enumObjectType.IntType), CheckDBNull(Container.DataItem("POSTEDID"), enumObjectType.IntType))%>&nbsp;</td><%# vbCrLf%>
                    <td><%# getStatus(CheckDBNull(Container.DataItem("email_ts")), CheckDBNull(Container.DataItem("post_ts")))%>&nbsp;</td><%# vbCrLf%>
                    <td><%# getdelivery(CheckDBNull(Container.DataItem("status"), enumObjectType.IntType), CheckDBNull(Container.DataItem("timestampupdate")), CheckDBNull(Container.DataItem("email_ts")), CheckDBNull(Container.DataItem("post_ts")))%>&nbsp;</td><%# vbCrLf%>
                 </tr>
            </ItemTemplate>
        </asp:Repeater>
    <ContentTemplate>
</asp:UpdatePanel>
4

1 に答える 1

0

ポストバックを実行すると、IE でのレンダリング/オーバーヘッドのようです。asp.net updatepanel を使用する方法から、JSON で jquery を使用する方法に変更しました。これでデータが取得され、行/列の位置がずれることはありません。

于 2012-05-21T18:59:54.673 に答える