Использование цикла при отправке сообщения Postmark - PullRequest
0 голосов
/ 17 мая 2011

Я пытаюсь отправить электронное письмо пользователю моего сайта с информацией о заказе. В электронном письме будет показан список товаров, которые заказал пользователь. На веб-страницах я использую цикл 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>&pound;@o.to_Price</div>
  <div>@o.to_Amount</div><div>&pound;@o.to_ItemTotalPrice</div></div>
  }
  "end!",
 };

Я работаю на C # и ASP.NET Web Pages. Спасибо

1 Ответ

2 голосов
/ 17 мая 2011

Вам необходимо вручную собрать строку, используя StringBuilder и отдельный цикл, а затем установить свойство HtmlBody для сгенерированной строки.

В качестве альтернативы, если вы действительно находитесь на странице Razor, вы можете использовать встроенный помощник :

HtmlBody = new Func<object, HelperResult>(@<text>
    <h2>...</h2>
    @foreach(...) { ... }
</text>)(null).ToString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...