html - 在视图的一部分内渲染 HTML 而不影响其他标签
问题描述
只是我想在视图内呈现电子邮件的正文部分,我的问题是电子邮件正文的样式对我页面的其他 html 部分产生影响时。
<div class="col-md-12 m-b-5">
<div id="email" dir="ltr">
@Html.Raw(ViewBag.Body)
</div>
</div>
我不知道在电子邮件 div 中呈现什么,并且希望在此上的所有内容都在此 div 中呈现,而不影响页面的其他部分。
解决方案
您可以在为 Outlook 插件设置之前删除所有无效内容,Viewbag.body
我使用此代码过滤掉一些生成的内容。我遇到的问题是嵌入图像,所以我使用正则表达式将它们过滤掉。也许你可以做类似的事情?
var reg = new Regex("<img[^>]+['\"][^>]*>");
var matches = reg.Matches(message.Body);
foreach (var match in matches)
{
body = body.Replace(match.ToString(), "");
}
编辑
当您查看电子邮件的来源(outlook html 格式的电子邮件)时,您会看到在邮件开头定义的许多 CSS 类和规则。实际的邮件以正文标记(屏幕)开头。所以你可以抓住body标签内的数据并显示它
推荐阅读
- javascript - Node.js 事件发射器2;如何删除使用 onAny 添加的侦听器
- google-cloud-platform - JAVA调用其余视频智能API
- r - 固定滚动窗口
- yandex - Couldn't parse csv file if value contains from '
- python - python 如何只获取路径的名称?
- mysql - 存储过程不选择数据
- javascript - 显示列表中的所有数据
- javascript - Spotify urls regex
- arcgis - ArcGis 服务器对象扩展开发
- android - IllegalStateException:指定的孩子已经有一个父母。您必须先在孩子的父母上调用 removeView()