在ASP / C中使用HtmlTable对象填充HtmlTable控件#

时间:2009-08-18 15:36:45

标签: c# asp.net html

这显然似乎不是一个不可能的问题,但我找不到一种方法来填充HtmlTable控件(可以从代码隐藏中访问),其中HtmlTable对象已经填充了数据。

有人可以帮我吗?

此致

编辑

在ASP页面中,我有一个ID =“table1”

的HTML表格

在代码隐藏中,我首先从List中填充HtmlTable对象,如下所示:

HtmlTable localTable1 = new HtmlTable();
HtmlTableCell cell1 = new HtmlTableCell();
HtmlTableCell cell2 = new HtmlTableCell();

foreach (Evaluation eval in theEvaluations)
{
    HtmlTableRow anEvaluation = new HtmlTableRow();

    cell1.InnerText = eval.attr1;
    anEvaluation.Cells.Add(cell1);

    cell2.InnerText = eval.attr2;
    anEvaluation.Cells.Add(cell2);

    localTable1.Rows.Add(anEvaluation);
}

// And eventually here I should pass the localTable1 to table1

6 个答案:

答案 0 :(得分:1)

听起来你有一张桌子而且你正在尝试做类似

的事情
HtmlTable myTable = new HtmlTable();
this.myPageTable = myTable;

这不是它的工作原理。如果你有一个你想要渲染的填充表对象,那么创建一个文字控件并访问它的Controls集合Add()方法并添加表对象。像这样:

HtmlTable myTable = new HtmlTable();
this.myLiteral.Controls.Add(myTable);

或者您应该直接填充表格。

答案 1 :(得分:0)

您使用的是< table>标签来创建表?如果是这样,你应该使用< asp:Table>标记,这将使您可以从代码隐藏中访问该表。

答案 2 :(得分:0)

更好的解决方案是将HtmlTable从页面传递到填充它的任何函数,如果可能的话。

答案 3 :(得分:0)

在ASP页面中,我有一个ID =“table1”

的HTML表格

在代码隐藏中,我首先从List中填充HtmlTable对象,如下所示:

HtmlTable localTable1 = new HtmlTable();
HtmlTableCell cell1 = new HtmlTableCell();
HtmlTableCell cell2 = new HtmlTableCell();

foreach (Evaluation eval in theEvaluations)
{
    HtmlTableRow anEvaluation = new HtmlTableRow();`

    cell1.InnerText = eval.attr1;
    anEvaluation.Cells.Add(cell1);

    cell1.InnerText = eval.attr1;
    anEvaluation.Cells.Add(cell2);

    localTable1.Rows.Add(anEvaluation);
}

// And eventually here I should pass the localTable1 to table1

答案 4 :(得分:0)

你只是为自己创造工作。当您在那里引用最终目的地时,无需在局部变量中创建所有行。

试试这个:

foreach (Evaluation eval in theEvaluations)
{
    HtmlTableRow anEvaluation = new HtmlTableRow();

    cell1.InnerText = eval.attr1;
    anEvaluation.Cells.Add(cell1);

    cell1.InnerText = eval.attr1;
    anEvaluation.Cells.Add(cell2);

    table1.Rows.Add(anEvaluation);
}

答案 5 :(得分:0)

好的,我最终让一切正常,剩下的问题只是因为HtmlTableCell对象的声明位置错误。

这是一个工作片段:

foreach (Evaluation eval in theEvaluations)
{
    HtmlTableRow anEvaluation = new HtmlTableRow();
    HtmlTableCell cell1 = new HtmlTableCell();
    HtmlTableCell cell2 = new HtmlTableCell();


    cell1.InnerText = eval.attr1;
    anEvaluation.Cells.Add(cell1);

    cell2.InnerText = eval.attr2;
    anEvaluation.Cells.Add(cell2);

    table1.Rows.Add(anEvaluation);  // table1 : the real HTML table in ASP page
}