我有一些代码从数据库中获取一些值,然后通过以下代码将其修改为html表。
if (!this.IsPostBack) {
DataTable dt = Database.GetData();
StringBuilder html = new StringBuilder();
html.Append("<table border = '1'>");
html.Append("<tr>");
foreach(DataColumn column in dt.Columns){
html.Append("<th>");
html.Append(column.ColumnName);
html.Append("</th>");
}
html.Append("</tr>");
foreach (DataRow row in dt.Rows) {
html.Append("<tr>");
foreach (DataColumn column in dt.Columns) {
html.Append("<td>");
html.Append(row[column.ColumnName]);
html.Append("</td>");
}
html.Append("</tr>");
}
html.Append("</table>");
Datatable.Controls.Add(new Literal { Text = html.ToString() });
}
问题是在运行时代码被抛出一个大的行,大约15个浏览器页面而不是列。
有什么建议吗?
答案 0 :(得分:2)
您的代码目前不会以表格形式输出,因为您在table
代码与border
属性之间缺少空格。
如果要在表格不是有效的表格标签时呈现表格,那么它应该是<table border= '1'>
而不是<tableborder='1'>
。
如果您希望将代码呈现为HTML,则应将其输出为“原始”HTML,否则将其视为文本,这听起来像是对我来说。