我有一个母版页和一个内容页面。内容页面内容是动态的,是HTML(html Mail)。内容从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;
我的问题是,动态内容有自己的风格,它正在被母版页复制,搞乱我的母版页面样式,背景,字体等。我希望内容页面在它自己的stye中而不影响母版页。怎么做到这一点?
答案 0 :(得分: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>"
答案 1 :(得分:1)
如果html,style和body标签是存储在数据库中的内容的一部分(一个完整的html页面),我认为你将不得不使用iframe。这意味着您将拥有一些像mailbody.asp这样的单独文件来呈现您的动态内容。然后你可以在iframe中的主页面中调用它,如此
<iframe src="mailbody.asp"></iframe>