我有一个应用程序,用于发送包含整个表格的电子邮件,但我不知道如何在那里获取动态数据。我确信我必须使用 for 循环,但我不知道如何用它来获取数据行。
这是我到目前为止所拥有的:
msg.To.Add(selected);//put in custom account info
msg.Subject = "Message Subject";
msg.IsBodyHtml = true;
msg.Body = "<html>"+
"<body>"+
"<center>"+
"<h2>Your entire inventory:</h2>"+
"<table>"+
"<th>Product</th>"+
//for each loop
"<th>Quantity</th>"+
//for each loop
"</body>"+
"</html>";
如果您需要任何其他代码,请告诉我。
最佳答案
就我个人而言,我会避免使用字符串连接来构建 HTML。它不仅会使您的代码变得笨拙,而且还会在编码输出时面临意外错误的风险。一种替代方法是使用 LINQ to XML 来构建 HTML。代码看起来像这样:
var html = new XDocument(
new XElement("html",
new XElement("body",
new XElement("h2", "Your entire inventory:"),
new XElement("table",
new XElement("tr",
new XElement("th", "Product"),
from item in orders
select new XElement("td", item.ProductName)),
new XElement("tr",
new XElement("th", "Quantity"),
from item in orders
select new XElement("td", item.Quantity))))));
msg.Body = html.ToString();
关于c# - 从应用程序内将包含 Mysql 数据的 HTML 电子邮件发送到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167208/