我正在尝试向我网站的用户发送电子邮件,其中包含订单详情。该电子邮件将显示用户订购的项目列表。在网页上,我使用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>£@o.to_Price</div>
<div>@o.to_Amount</div><div>£@o.to_ItemTotalPrice</div></div>
}
"end!",
};
我在C#和ASP.NET网页上工作。 感谢
答案 0 :(得分:2)
您需要使用StringBuilder
和单独的循环手动汇编字符串,然后将HtmlBody
属性设置为生成的字符串。
或者,如果您真的在Razor页面中,则可以使用inline helper:
HtmlBody = new Func<object, HelperResult>(@<text>
<h2>...</h2>
@foreach(...) { ... }
</text>)(null).ToString()