我正在使用mandrill模板在我的网络应用程序中发送电子邮件。我有一个" foreach循环"对于我想要自动生成项目数量模板的项目列表。
如何在我的模板和c#中为我的后端代码添加foreach逻辑?
假设我有两个列表,并且我想在每个循环中包含我的所有项目列表。
var itemList = new List<string>();
var itemList1 = new List<int>();
如何为此场景创建循环?
foreach (var each in itemList){}
答案 0 :(得分:0)
您可以使用Tuple而不是分别使用两个列表。
这是您使用模板发送电子邮件的C#逻辑 // C#
var itemContainerTuple = new List<Tuple<string, int?>>();
var mandrill = new MandrillApi(ConfigurationManager.AppSettings["MandrillApiKey"]);
var emailMessage = new EmailMessage
{
FromEmail = "youremail",
To = new List<EmailAddress> { new EmailAddress { Email = "senderEmail" } },
Subject = "your subject",
FromName = "Yourname",
MergeLanguage = "handlebars",
Merge = true,
};
emailMessage .AddGlobalVariable("ItemContainer", itemContainerTuple);
await mandrill.SendMessageTemplate(new SendMessageTemplateRequest(emailMessage , "YourTemplateName"));
在你的Mandrill模板中你可以尝试这样 -
//Template
// for each row from tuple string would be red and int would be black.
{{#each ItemContainer}}
<li>
<span style="color:red"><strong>{{Item1}}</strong></span>
</li>
<li>
<span style="color:black"><strong>{{Item2}}</strong></span>
</li>
{{/each}}