C#使用Mandrill模板发送电子邮件' foreach loop'

时间:2016-04-20 14:49:50

标签: c# templates mandrill

我正在使用mandrill模板在我的网络应用程序中发送电子邮件。我有一个" foreach循环"对于我想要自动生成项目数量模板的项目列表。

如何在我的模板和c#中为我的后端代码添加foreach逻辑?

假设我有两个列表,并且我想在每个循环中包含我的所有项目列表。

var itemList = new List<string>();
var itemList1 = new List<int>();

如何为此场景创建循环?

foreach (var each in itemList){}

1 个答案:

答案 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}}