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

まず、マスター ページの contentplaceholder への参照を取得してから、そこに動的コントロールを追加できます。

コードビハインド:

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 に答える