通过代码添加tbody(C#)

时间:2013-08-04 10:31:55

标签: c# jquery datatable

我在MVC3项目中使用jquery DataTable。该表是通过代码隐藏生成的。我遇到麻烦的唯一(到目前为止)是tbody。 我想在后面的代码中添加一个带有ID的tbody部分,没有任何行。

我一直在寻找,我得到的最好的事情是:

TableRow tb = new TableRow();
tb.TableSection = TableRowSection.TableBody;
tb.ID = "Body";

但是那样,我在tbody部分得到一行,其中一行带有id .. 我想得到的是:

<tbody id="Body"></tbody>

如何从代码中获取结果?

由于

2 个答案:

答案 0 :(得分:1)

使用通用Table控件是不可能的,它只是不支持为其<tbody>提供ID。

您可以做的是将所需的ID指定为表格的自定义属性:

Table1.Attributes["data-tbodyid"] = "Body";

然后使用jQuery将其动态分配到表的<tbody>

$(document).ready(function () {
    $("table").each(function () {
        var tbodyId = $(this).data("tbodyid");
        if (tbodyId && tbodyId.length > 0)
            $(this).find("tbody").eq(0).attr("id", tbodyId);
    });
});

答案 1 :(得分:0)

我最终使用了HtmlGenericControl:

HtmlGenericControl tb = new HtmlGenericControl("tbody");
tb.ID = grid.GridBodyName;

当然,表本身,页眉,页脚及其单元格也应该是HtmlGenericControl。 将主体添加到表中,将单元格添加到header \ footer应该这样做:

HTMLTable.Controls.Add(tb);