应用于母版页的内容页样式

本文关键字:样式 母版页 应用于 | 更新日期: 2023-09-27 18:21:53

我有一个母版页和一个内容页。内容页面内容是动态的,是HTML(HTML邮件)。内容从数据库中提取并动态显示。这就是页面在"查看源代码"上的样子。

<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;

我的问题是,动态内容有自己的风格,它被母版页复制,扰乱了我的母版页风格、背景、字体等。我希望内容页在不影响母版页的情况下保持自己的风格。如何做到这一点?

应用于母版页的内容页样式

如果html、style和body标记是存储在数据库(一个完整的html页面)中的内容的一部分,我认为您必须使用iframe。这意味着您将有一些单独的文件,如mailbody.asp,用于呈现动态内容。然后你会在你的主页上用类似的iframe调用它

<iframe src="mailbody.asp"></iframe> 

例如,我建议将内容页面内容放入div中,并为其分配页面样式。然后为mailBody容器设置innerHtml

<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>"