动态添加ASP控件到表格中

4
现在我有一个ASP表格,我可以很好地向该表格添加行和单元格。我想要做的是,不要让单元格仅显示文本,而是添加一个控件,例如按钮。
我的第一想法是将
请问有人能帮助我指出如何实现这一点吗?

展示一下你目前的进展。 - O.O
3个回答

5

您需要将控件添加到表格单元格中。只需在单元格上调用Controls.Add方法并添加您的控件即可。下面是一个简短的草图,应该可以指引您正确的方向。

        Button b = new Button();
        c.Controls.Add(b);

2
以下假设您在页面上有一个空的ASP:Table,并定义了一些行(仅供展示)。
protected void Page_Init(object sender, EventArgs e)
{
    foreach (TableRow row in this.Table1.Rows)
    {
        foreach (TableCell cell in row.Cells)
        {
            Button btn = new Button();
            btn.Text = "Some Button";
            btn.Click += new EventHandler(btn_Click);
            cell.Controls.Add(btn);
        }
    }
}

void btn_Click(object sender, EventArgs e)
{
    ((Button)sender).Text = "Just Clicked";
}

我正在创建一个 System.Web.UI.WebControls.Button,但它似乎没有 .Click 属性。我是否创建了错误类型的按钮? - user489041
Click是一个事件,而不是属性。你在使用VB还是C#? - theG

0

问题在于您的控件源是什么。到目前为止,最有效的方法是通过数据绑定来实现,即使您的数据源只是Enumerable.Range()函数。

如果失败了,您需要创建一个控件实例并将其添加到它们所属的表单单元格的控件集合中。您可以使用+=语法添加事件处理程序。这里的诀窍是,创建和添加按钮的代码需要在每个回发上再次运行,并且需要在 asp.net 生命周期的 page_load 阶段之前运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接