从数据库格式化问题创建的C#表

时间:2017-04-21 11:54:55

标签: c#

我有一些代码从数据库中获取一些值,然后通过以下代码将其修改为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个浏览器页面而不是列。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您的代码目前不会以表格形式输出,因为您在table代码与border属性之间缺少空格。

如果要在表格不是有效的表格标签时呈现表格,那么它应该是<table border= '1'>而不是<tableborder='1'>

如果您希望将代码呈现为HTML,则应将其输出为“原始”HTML,否则将其视为文本,这听起来像是对我来说。