giả sử tôi cần gửi thư cho khách hàng với chi tiết của khách hàng và chi tiết đơn hàng của mình. tôi có dữ liệu mẫu html trong một tệp html. Dữ liệu khách hàng ở đó và cũng như chi tiết đơn đặt hàng cũng có trong cùng một tệp mẫu html. html của tôi trông giống nhưcách gửi mẫu email wth email C#
<html>
<body>
Hi {FirstName} {LastName},
Here are your orders:
{foreach Orders}
Order ID {OrderID} Quantity : {Qty} <strong>{Price}</strong>.
{end}
</body>
</html>
bây giờ tôi muốn điền vào tất cả từ khóa mẫu được bao quanh với {} với giá trị thực tế và cũng lặp lại và điền vào đơn đặt hàng.
tôi tìm kiếm trên google và thấy rằng microsoft cung cấp một lớp được gọi là MailDefinition để chúng tôi có thể tạo nội dung thư động. tôi cũng có mã mẫu giống như
MailDefinition md = new MailDefinition();
md.From = "[email protected]";
md.IsBodyHtml = true;
md.Subject = "Test of MailDefinition";
ListDictionary replacements = new ListDictionary();
replacements.Add("<%Name%>", "Martin");
replacements.Add("<%Country%>", "Denmark");
string body = "
Hello <%Name%> You're from <%Country%>.";
MailMessage msg = md.CreateMailMessage("[email protected]", replacements, body, new System.Web.UI.Control());
bởi mã trên chúng ta có thể thay thế giá trị giả với giá trị thực nhưng tôi không biết cách lặp lại chi tiết đơn hàng và điền dữ liệu đơn đặt hàng.
vì vậy nếu có thể sử dụng lớp MailDefinition thì vui lòng hướng dẫn tôi bằng mã rằng làm cách nào tôi có thể lặp trong vòng lặp và tạo thân cho chi tiết đơn đặt hàng.
Nếu một thư viện 3rd Party là một lựa chọn, có một cái nhìn tại [dotLiquid] (http://dotliquidmarkup.org/). Bạn cũng có thể muốn xem câu trả lời của tôi cho một câu hỏi tương tự: http://stackoverflow.com/a/28558160/79485 – Marcel
Tôi làm cách nào để tải xuống *** MailDefinition ***? – Kiquenet
MailDefinition là một phần của .NET, trong không gian tên System.Web. Bạn không cần phải tải xuống. –