发送邮戳消息时使用循环

本文关键字:循环 消息 | 更新日期: 2023-09-27 17:56:34

我正在尝试向我网站的用户发送电子邮件,其中包含订单详细信息。该电子邮件将显示用户订购的项目列表。在网页上,我使用显示项目列表的 foreach 循环。当我尝试在我的邮戳电子邮件中执行此操作时,它会给出错误:"无效的表达式术语'foreach'"。我不知道如何继续此操作,并且没有太多邮戳文档可以提供帮助。

我的代码:

    //database query
PostmarkMessage cmessage = new PostmarkMessage
{
From = "server@server.co.uk",
To = "user@user.co.uk",
Subject = "Thank you! " + ordernumber,
HtmlBody = "<h2>Your Order:" + ordernumber + "</h2><br />" + 
 foreach (var o in order)//error here
 {
  <div>
  <div>@o.to_ChooseCanvasSize</div><div>&pound;@o.to_Price</div>
  <div>@o.to_Amount</div><div>&pound;@o.to_ItemTotalPrice</div></div>
  }
  "end!",
 };

我正在使用 C# 和 ASP.NET 网页。谢谢

发送邮戳消息时使用循环

您需要使用 StringBuilder 和单独的循环手动组合字符串,然后将 HtmlBody 属性设置为生成的字符串。

或者,如果您确实在 Razor 页面中,则可以使用内联帮助程序:

HtmlBody = new Func<object, HelperResult>(@<text>
    <h2>...</h2>
    @foreach(...) { ... }
</text>)(null).ToString()