1

特定の画面で、ユーザーにデータを印刷させる必要があります。表示されるデータは複雑であるため、次のラベルが使用されます。

lblTree.Text = stringHTML;

ツリーは、動的に構築されたHTML文字列を使用して表示されます。最終的な文字列の長さは52000文字です。それは重要ではないと思いますが、背景を説明したいと思いました。aspxでは、次のようになります。

<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td colspan="3" align="left" class="PrintTBLHeader"><br />report as of 20/09/2012 : <br /><br /></td>
    </tr>
    <tr>
        <td colspan="3"><br /><asp:Label runat="server" ID="lblTree"></asp:Label><br /><br /></td>
    </tr>
    <tr>
        <td colspan="3" align="left" class="PrintTBLHeader"><br />2nd title:<br /><br /></td>
    </tr>
    <tr>
        <td colspan="3"><br /><asp:Label runat="server" ID="lblMPMtree"></asp:Label></td>
    </tr>
</table>

問題はこれです:印刷プレビューを開くと、6ページと表示されます(FirefoxやChromeのように-これらは正しく機能しています)が、IE8からのこの印刷プレビューでは3ページしか表示されません。

lblTreeは1ページ目の終わりで切り取られます次に2ページ目では、lblTreeの残りの部分を表示する代わりに、「2番目のタイトル」(上記の例ではtr#3)で始まります。

私は、ソリューションがに追加media="print"されていた、このようなものに関連するいくつかの記事を見つけました<link>

<link rel="stylesheet" type="text/css" href="..." media="print" />

それはうまくいきませんでした。

4

1 に答える 1

1

要約する:

  • バリデーターを使用してDOCTYPEに対して無効であるかどうかコードを確認します
  • 無効な場合、IEはquirksmodeでレンダリングしますが、これは決して良いことではありません。
于 2012-09-25T13:33:04.917 に答える