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

C# 如何动态构建HTML表作为发送电子邮件的模板(ng repeat),c#,html,angularjs,string,angularjs-ng-repeat,C#,Html,Angularjs,String,Angularjs Ng Repeat,目前,我构建HTML模板,并在向收件人发送“已解析的电子邮件模板”之前用匹配值替换{Title}占位符,但问题是无法在表中动态生成“数据列表”,因此求助于使用angularjs“ng repeat”,但在解析时,它发送angularjs标记,而不是生成HTML表示 我的问题是如何使用ng repeat构建“angularjs”模板,该模板可用于动态发送电子邮件模板,而无需在浏览器中加载页面,因为angularjs页面似乎只有在浏览器中打开时才会被翻译 如何使用ng repeat动态生成HTML标

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

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

如何使用ng repeat动态生成HTML标记,使其足以作为电子邮件发送,谢谢

{Title}占位符
名字
姓氏
年龄
吉尔
史密斯
50
前夕
杰克逊
94

angularjs无法直接实现,但Angular2+支持它(在服务器上使用nodejs:)

我也有同样的需求,我记得在SeleniumWebDriver中使用服务器上运行的angularjs试图实现您想要的,但我找不到一个完整而简单的解决方案

相反,我复制了ng repeat模板并将其转换为非常简单的asp.net razor模板,然后将json模型作为dynamic 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>
@模型动态
@模型名称
名字
姓氏
年龄
@foreach(Model.Students中的动态x)
{
@x、 名字
@x、 姓氏
@x、 年龄
}

您可以使用RazorEngine nuget帮助生成输出:

尝试在控制器中创建消息正文,并将其替换为电子邮件的消息部分。