在表格的单元格中添加标签,并在按钮单击时更改标签的值

时间:2014-10-13 03:10:30

标签: asp.net uitableview controls dynamic-tables

我想动态创建一个带有标签的表格,并通过按钮点击

更改表格上的标签

我可以动态地为表格提供不同的标签但是我无法更改表格中的标签

这是我的代码:

的.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表格上访问标签。

1 个答案:

答案 0 :(得分:0)

您需要在pre_init事件上重新创建表格。只有这样它才能起作用。

protected override void OnPreInit(EventArgs e)
{
   base.OnPreInit(e);
   //recreate your table here
}

您也可以在Page Load事件中添加控件动态控件。但在这种情况下,对手的状态不能在PostBacks中持续存在。因此,在加载视图状态之前,动态添加的控件应存在于页面控制层次结构中。因此,在Init事件中创建控件会使控件在层次结构中可用,以便它可以持久化ViewState。