我想动态创建一个带有标签的表格,并通过点击按钮来改变表格上的标签
我可以动态地为表提供不同的标签,但不能更改表中的标签
下面是我的代码:
.cs
protected ovverride void createchildcontrol()
{
table1.border=1;
}
int counter=1;
for (int i = 1; i <= 8; i++)
{
row = new htmltablerow();
for (int j = 1; j <= 5; j++)
{
label = new label() { id = "label" + counter.tostring() };
cell = new htmltablecell();
cell.innertext = label.text = "label" + counter.tostring();
row.cells.add(cell);
counter++;
}
table1.row.add(row);
}
counter = 1;
cell.controls.add(label);
this.controls.add(table1);
}我的按钮代码
protected void button1_click(object sender, eventargs e)
{
label find = cell.findcontrol("label1") as label;
find.text = "changed";
}我在另一个页面上有一个div id="placeholder" runatserver="server"
我真的需要访问我生成的HTML表上的标签。
发布于 2014-10-13 12:50:24
您将需要在pre_init事件上重新创建表。只有到那时,它才会起作用。
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
//recreate your table here
}您也可以在Page Load事件中动态添加控件。但在这种情况下,控件的状态不能跨PostBacks保持。因此,在加载视图状态之前,动态添加的控件应该存在于页面控件层次结构中。因此,在Init event中创建控件会使该控件在层次结构中可用,这样它就可以持久化ViewState。
https://stackoverflow.com/questions/26332397
复制相似问题