通用asp.net表未显示

时间:2017-05-23 08:47:59

标签: c# html asp.net

我有以下代码来创建一个包含aspTable的字符串。

private void createTabel()
{
    StringBuilder html = new StringBuilder();

    html.Append("<asp:Table runat='server'>");

    //Header Row erstellen.
    html.Append("<asp:TableHeaderRow>");
    foreach (DataColumn column in dataTable.Columns)
    {
        html.Append("<asp:TableHeaderCell>");
        html.Append(column.ColumnName);
        html.Append("</asp:TableHeaderCell>");
    }
    html.Append("</asp:TableHeaderRow>");

    //Erstellen der Rows.
    foreach (DataRow row in dataTable.Rows)
    {
        html.Append("<asp:TableRow>");
        foreach (DataColumn column in dataTable.Columns)
        {
            html.Append("<asp:TableCell>");
            html.Append(row[column.ColumnName]);
            html.Append("</asp:TableCell>");
        }
        html.Append("</asp:TableRow>");
    }


    html.Append("</asp:Table>");


    PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() });


}

此代码工作正常,它会创建一个应显示asp.net表的字符串。

如果我手动将其粘贴到HTML文档中,则一切都会正常显示。但是,如果我替换了我的PlaceHolder,则只显示包含行内容的大string

我希望你的家伙可以给我一些提示来解决我的问题。

1 个答案:

答案 0 :(得分:1)

请改用:

private void createTabel()
    {
        StringBuilder html = new StringBuilder();

        html.Append("<table>");

        //Header Row erstellen.
        html.Append("<tr>");
        foreach (DataColumn column in dataTable.Columns)
        {
            html.Append("<th>");
            html.Append(column.ColumnName);
            html.Append("</th>");
        }
        html.Append("</tr>");

        //Erstellen der Rows.
        foreach (DataRow row in dataTable.Rows)
        {
            html.Append("<tr>");
            foreach (DataColumn column in dataTable.Columns)
            {
                html.Append("<td>");
                html.Append(row[column.ColumnName]);
                html.Append("</td>");
            }
            html.Append("</tr>");
        }

        html.Append("</table>");

        PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() });
    }

或者,您可以使用GridView并将dataTable绑定到GridView作为DataSource。