2016-04-20 3 views
0

Я использую шаблон mandrill для отправки электронной почты в своем веб-приложении. У меня есть «цикл foreach» для моего списка элементов, где я хочу автоматически генерировать шаблон для количества элементов.C# Отправить письмо с помощью шаблона Mandrill 'foreach loop'

Как добавить логику foreach в свой шаблон и в C# для кода моей задней части?

Предположим, у меня есть два списка, и я хочу включить весь список элементов в мой для каждого цикла.

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

Как создать цикл для этого сценария?

foreach (var each in itemList){} 
+0

Создать общий интерфейс – DonO

ответ

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}} 
Смежные вопросы