如何动态构建HTML表作为发送电子邮件的模板(ng-repeat)



目前,我在向收件人发送"解析的电子邮件模板"之前构建HTML模板并将{Title}占位符替换为匹配的值,但问题是无法在表中动态生成"数据列表",因此诉诸于使用angularjs 'ng-repeat',但是在解析时,它会发送angularjs标签而不是生成HTML表示

我的问题是如何使用ng-repeat构建" angularjs"模板,该模板可用于动态发送电子邮件模板,而无需在浏览器中加载页面,因为似乎angularjs页面仅在浏览器中打开时才被翻译

如何使用ng-repeat动态生成HTML标签,适合作为电子邮件发送,谢谢

{Title} Placeholder 
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th> 
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td> 
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td> 
<td>94</td>
</tr>
</table>

使用angularjs 不能直接实现,但 angular 2+ 支持它(在服务器上使用 nodejs:https://angular.io/guide/universal (。

我有同样的需求,我记得尝试使用在 selenium 网络驱动程序的服务器上运行的 angularjs 来实现您想要的,但我找不到完整而简单的解决方案。

相反,我复制了我的 ng-repeat 模板并将它们转换为非常简单的 asp.net 剃刀模板,并将我的 json 模型作为动态ViewModel 传递。 我知道它不是 angularjs,但它是一个很好的服务器端替代方案,你也标记了 c#。 示例模板:

@Model dynamic
<h4>@Model.Title</h4>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th> 
<th>Age</th>
</tr>
@foreach (dynamic x in Model.Students)
{
<tr>
<td>@x.FirstName</td>
<td>@x.LastName</td>
<td>@x.Age</td>
</tr>
}
</table>

可以使用RazorEnginenuget 来帮助生成输出:http://antaris.github.io/RazorEngine/

最新更新