2013-07-10 2 views
0

У меня есть главная страница и страница содержания. Содержимое страницы контента является динамическим и является HTML (html Mail). Содержимое извлекается из БД и отображается динамически. Так выглядит страница в «View Source».Стиль страницы содержания, примененный к главной странице

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

Моя проблема, динамический контент имеет свой собственный стиль, и он становится скопирован главной страницей и Мессинг моего стиля Мастер страницы, фон, шрифт и т.д. Я хочу содержимое страницы, чтобы быть в своем собственном ячмене без влияния на главную страницу. Как достичь этого?

ответ

1

Если теги HTML, стиль и тело являются частью контента, хранящегося в базе данных (полный HTML-страницы), я думаю, что вы будете иметь использовать iframe. Это означает, что у вас будет отдельный файл, например mailbody.asp, который отображает ваш динамический контент. Тогда вы могли бы назвать его из главной страницы в IFRAME, как так

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

В этом случае я могу использовать Context.Items [ «MailId»] в суб-страницы, которые я устанавливаю на событие щелчка в главном стр. –

+0

Ну, я использовал Cache ["MailId"] для хранения Id на главной странице, а затем извлек значение из подстраницы через Cache. Соответствовал моему требованию. Благодаря.. –

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.
Кроме того, вы можете использовать некоторые HTML теги для innerHtml:

mailBody.InnerHtml = "<div class='className'>" + mail + "</div>" 
Смежные вопросы