这显然似乎不是一个不可能的问题,但我找不到一种方法来填充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
答案 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
}