0

我正在做的是一个母版页,它有以下 ContactPlaceHolder

<asp:ContentPlaceHolder id="ContactPlaceHolder_Header" runat="server">
</asp:ContentPlaceHolder>

在这个占位符内部,我想根据推入 DataTable 的 sqlquer 的结果动态创建按钮。

所以基本上我正在寻找

foreach(ButtonsDT.Rows 中的 DataRow dtRow)
    {
按钮 btnNew = new Button();    
btnNew .ID = dtRow["ID"].Tostring()};    
btnNew .Text = "保存";  

    }

我意识到这就是您创建按钮的方式,但是如何将其放置在特定的 ContentPlaceHolder 中?

谢谢!

4

2 回答 2

0

只需使用:

ContactPlaceHolder_Header.Controls.Add(btnNew);

于 2012-07-21T18:53:54.373 回答
0

首先,您应该获得对母版页内容占位符的引用,然后您可以在其中添加动态控件。

代码背后:

Control masterc = Master.FindControl("ContactPlaceHolder_Header");
foreach(DataRow dtRow in ButtonsDT.Rows)
{ 
    Button btnNew = new Button();    
    btnNew.ID = dtRow["ID"].Tostring()};    
    btnNew.Text = "Save";  

     // add button in panel or placeholder
    masterc.Controls.Add(btnNew);
}
于 2012-07-21T19:00:18.190 回答