Визуализация внешнего Html внутреннего вида бритвы с использованием html .raw искажает страницу html - PullRequest
0 голосов
/ 09 июля 2020

У меня есть внешний Html - который на самом деле является телом письма, у него есть тег и тело html, он сам по себе является полным html. Я визуализирую это внутри Bootstrap модального

 <div class="modal-body">
            @Html.Raw(Model.EmailBody)
            @*<iframe srcdoc="@Html.Raw(Model.EmailBody)">
            </iframe>*@
</div>

Но на моей странице есть другие div, которые находятся где-то внутри тела письма, а мои div - внутри html.

Итак, я попытался отобразить внешний html внутри iframe, и в этом случае мое представление не искажено, но каким-то образом содержимое электронной почты не попадает внутрь iframe. Когда я смотрю в дом, он выглядит так:

<iframe srcdoc="<!DOCTYPE html PUBLIC " -="" w3c="" dtd="" xhtml="" 1.0="" transitional="" en"="" "http:="" www.w3.org="" tr="" xhtml1="" xhtml1-transitional.dtd"="">  <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">       <!-- Email Header -->  <head>  <meta http-equiv="Content-Type" content="html; charset=UTF-8"></meta>   <!-- Included header file, can be cloned and/or replaced. -->    <!--[if gte mso 15]>  <xml>   <o:OfficeDocumentSettings>   <o:AllowPNG/>   <o:PixelsPerInch>96</o:PixelsPerInch>   </o:OfficeDocumentSettings>  </xml>  <![endif]-->  <meta charset="UTF-8" />  <!--[if !mso]><!-->    <meta http-equiv="X-UA-Compatible" content="IE=edge" />   <!--<![endif]-->  <meta name="viewport" content="width=device-width, initial-scale=1" />  <title></title>      <!--[if mso]>  <style type="text/css">  body, table, td {font-family: Arial, Helvetica, sans-serif !important;}  h1 {font-family: Arial, Helvetica, sans-serif !important;}  h2 {font-family: Arial, Helvetica, sans-serif !important;}  h3 {font-family: Arial, Helvetica, sans-serif !important;}  h4 {font-family: Arial, Helvetica, sans-serif !important;}  h5 {font-family: Arial, Helvetica, sans-serif !important;}  h6 {font-family: Arial, Helvetica, sans-serif !important;}  h7 {font-family: Arial, Helvetica, sans-serif !important;}  p {font-family: Arial, Helvetica, sans-serif !important;}  </style>  <![endif]-->    <!--[if gt mso 15]>  <style type="text/css" media="all">  /* Outlook 2016 Height Fix */  table, tr, td {border-collapse: collapse;}  tr {border-collapse: collapse; }  body {background-color:#ffffff;}  </style>  <![endif]-->    <!-- Title - Optional content - The title tag shows in email notifications on mobile devices -->  <title>    </title>  <style type="text/css">  p.solid {border-style: solid;border-width: 1px;padding: 5px}  button-style {background: #222222; border: 15px solid #222222; padding: 0 10px;color: #ffffff; font-family:Ember, Arial, sans-serif; font-size: 13px; line-height: 1.1; text-align: center; text-decoration: none; display: block; border-radius: 3px; font-weight: bold;}  tablebutton {    border-collapse: separate;  border-spacing: 10px;}  </style>  </head>    <!-- Email Body --> </html>">

    </iframe>

Но я не вижу html. Есть ли другой способ, без или с iframe, я могу показать свои внешние электронные письма

1 Ответ

0 голосов
/ 09 июля 2020

Я сделал это с помощью CkEditor. В CkEditor я показываю html. Это решающая проблема, но не лучшее решение

...