Dotnet dictionary nesnesinden html table üretme örneğini not ediyorum. Özellikler döküman oluştururken veya mail içerisine eklerken gereksinim duyulabiliyor.
public static class DictionaryToHtmlTable { public static string DataHtmlTable(object record) { var rec = record.ToDictionary(); var table = new StringBuilder(); table.Append("<table style='witdh:98%;'>"); table.Append("<tr>"); foreach(var th in rec.Keys) { table.Append($"<th style='border: 1px solid gray;'>{th.Replace("_"," ")}</th>"); } table.Append("</tr>"); table.Append("<tr>"); foreach(var td in rec.Values) { table.Append($"<td style='border: 1px solid gray;'>{td}</td>"); } table.Append("</tr>"); table.Append("</table>"); return table.ToString(); } public static Dictionary<string, object> ToDictionary(this object obj) { var dictionary = JObject.FromObject(obj).ToObject<Dictionary<string, object>>(); return dictionary; } }
Kullanımına bir örnek aşağıdaki gibi olabilir.
string MailHtml = DictionaryToHtmlTable.DataHtmlTable(mydataObject); smtp.Send(MailHtml);