0

マスター ページとコンテンツ ページがあります。コンテンツ ページのコンテンツは動的で、HTML(html メール) です。コンテンツは DB から取得され、動的に表示されます。これは、「ソースの表示」でページがどのように見えるかです。

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div id="mailBody" runat="server" style="overflow: auto; width: 600px; height: 500px;">
    <!-- Dynamic Content Starts from here-->
        <html>
            <head>
                <style>
                </style>
            </head>
            <body>
                <!--Body goes here-->
            </body>
        </html>
    <!-- Dynamic Content Ends here-->
</div>
</asp:Content>

そして、このように動的コンテンツ データを追加しています。

mailBody.InnerHtml = mail;

私の問題は、動的コンテンツには独自のスタイルがあり、それがマスター ページによってコピーされ、マスター ページのスタイル、背景、フォントなどが台無しになっていることです。これを達成する方法は?

4

2 に答える 2

1

divたとえば、コンテンツ ページのコンテンツを に配置し、それにページ スタイルを割り当てることをお勧めします。次に、コンテナーに設定innerHtmlします。mailBody

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
  <div style="pageStyle">
    <div class='yourDynamicClass' id="mailBody" runat="server" >

    </div>
  </div>
</asp:Content>

.css ファイルでクラスまたは ID を定義します。
また、innerHtml にいくつかの html タグを使用できます。

mailBody.InnerHtml = "<div class='className'>" + mail + "</div>"
于 2013-07-10T13:20:28.860 に答える
1

html、style、および body タグがデータベースに格納されているコンテンツ (完全な html ページ) の一部である場合は、iframe を使用する必要があると思います。つまり、動的コンテンツをレンダリングする mailbody.asp のような別のファイルが必要になるということです。次に、iframe のマスター ページから次のように呼び出します。

<iframe src="mailbody.asp"></iframe> 
于 2013-07-10T14:16:44.163 に答える