尝试使用表格从后面的代码动态填充div,并且每次循环循环时向表中添加另一行....
Table table = new Table();
table.ID = "Table1";
mapInnerDiv.Controls.Add(table);
foreach (Layer l in Layers)
{
string splitURL = l.URL.Split('/')[7];
TableRow row = new TableRow();
TableCell cell = new TableCell();
TextBox tb = new TextBox();
tb.ID = splitURL;
// Add the control to the TableCell
cell.Controls.Add(tb);
// Add the TableCell to the TableRow
row.Cells.Add(cell);
}
上面的代码没有填充div。从控制台我可以看到一个表被添加到div,但它是空的。
添加到诸如mapInnerDiv.InnerHtml = "this is a text post";
之类的innerHTML将显示此消息,但如果我使用标记并尝试从此处添加到div,则在添加新行时将会很困难吗?
关于我的循环出错的任何想法,谢谢
答案 0 :(得分:0)
您的代码需要重新安排,您需要将行添加到表中。
Table table = new Table();
table.ID = "Table1";
foreach (Layer l in Layers)
{
string splitURL = l.URL.Split('/')[7];
TableRow row = new TableRow();
TableCell cell = new TableCell();
TextBox tb = new TextBox();
tb.ID = splitURL;
// Add the control to the TableCell
cell.Controls.Add(tb);
// Add the TableCell to the TableRow
row.Cells.Add(cell);
table.Rows.Add(row);
}
mapInnerDiv.Controls.Add(table);
在完全构建完毕后,将表添加到div中。
并确保mapInnerDiv定义如下:
<div id="mapInnerDiv" runat="server"></div>
答案 1 :(得分:0)
我可以看到一个表被添加到div中,但它是空的
这是因为没有行添加到您的表中。
添加以下代码table.Rows.Add(row)
,将该行添加到此行下方的table
:
row.Cells.Add(cell);