c# - HTML 在 C# ASP.NET MVC 中无法与字符串生成器一起正常工作
问题描述
sb.Append("<table style='border:1px solid black; border-collapse:collapse; width:100%;'>");
sb.Append("<tr style='background:rgb(146,208,80); border:1px solid black;'>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("OPUS ID"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("Location"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("WMS #"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("Carton ID"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("Tracking #"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("Delivery Date"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("Carton Status"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("SKU"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("SKU Description"); sb.Append("</th>");
sb.Append("<th style='border: 1px solid black; text-align:center; padding:0%;'>"); sb.Append("Qty Outstanding"); sb.Append("</th>");
sb.Append("</tr>");
foreach (DataRow row in dt.Rows)
{
sb.Append("<tr style='border:1px solid green; border-collapse: collapse; width:100%;'>");
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append("<td style='border:1px solid black; border-collapse:collapse; text-align:center; padding:0%;'>");
string file = row.Field<string>(i);
sb.Append(file + "</td>");
}
sb.Append("</tr>");
}
sb.Append("</table>");
上面的代码正在制作 HTML 表格并将其绑定到电子邮件正文中,但发生了一些错误。
图像是为了清晰的视图:
解决方案
我同意@Hans Kesting 最好使用 Razor 语法。远离 DataSets 和 DataTabes 并为您的数据使用模型尤其有用。这将使遍历您的数据并使用WebGrid 之类的东西更容易填充表格。但是,如果这一切都不可能,我过去所做的是:
在 Helper 方法中创建 HTML 表字符串
将 HTML 字符串传递给控制器操作方法
将 HTML 字符串存储到 TempData 对象中
使用以下方法访问 TempData 对象并将表呈现到视图中:
@Html.Raw(TempData["html"])
推荐阅读
- tcp - TCP 上的类 GATT 协议
- javascript - 如何显示列表
使用 v-for 方法? - html - 通过引导程序获取中间的卡盒
- c++ - 通过更改模板之一将其更改为 muliset 后,我可以在 PBDS 有序集上使用计数功能吗
小于等于 - python - django StreamingHttpResponse picamera 运行但不渲染流,请指教
- r - 关于 R 包发布和代码可见性的问题
- php - 如何在 laravel 中连接查询
- docker - Windows 容器蓝屏它的主机
- reactjs - Typescript - 如何组合 Union 和 Intersection 类型
- python - 'float' 对象没有属性 'tanh'