【发布时间】:2015-06-03 23:50:48
【问题描述】:
我正在使用 Mandrill 发送电子邮件,并且正在使用 Handlebars 来呈现电子邮件中的内容。
如果我像这样添加变量,一切正常:
后端:
message.AddRecipientVariable("test@gmail.com", "MYVALUE", "some value");
HTML 模板:
<p>{{MYVALUE}}</p>
但如果我尝试使用 {{#each}} - 已发送电子邮件中的每个部分都是空的。我在这里做错了什么。我是否以错误的方式传递了objStringArray,或者是否还有其他东西错过了渲染循环?
后端:
var objList = new List<MyObj> {new MyObj() {Qty = "125"}, new MyObj() { Qty = "16"}};
var jsonSerialiser = new JavaScriptSerializer();
var objStringArray = jsonSerialiser.Serialize(objList.ToArray());
message.AddRecipientVariable("test@gmail.com", "VALUES", objStringArray);
message.merge_language = "handlebars";
_mandrillApi.SendMessage(message, templateName, new List<TemplateContent>());
HTML 模板:
<ul>
{{#each VALUES}}
<li>{{Qty}}</li>
{{/each}}
</ul>
【问题讨论】:
标签: c# json templates mandrill