0

asp パネルのようにいくつかの子コントロールを持つことができるカスタム コントロールを作成したいと思います。

<custom:panel runat="server" id="CustomPanel">
   <asp:TextBox id="textbox1" runat="server" />
   <span>Test</span>
</custom:panel>

私の目的は、カスタム コンテナーを作成し、上と同じ innerhtml を持つことです。ページのコードビハインドで、以下のようにサーバー側のコントロールにアクセスできるはずです。

textbox1.Text="something";

ありがとう

4

1 に答える 1

0

以下の解決策を見つけてください。角の丸いコンテナなどのコントロールの作成に使用できます。

[ParseChildren(true, "Items")]
[PersistChildren(true)]
public class CustomContainer : Control
{
    private List<Control> m_items = new List<Control>();


    [Browsable(false)]
    public List<Control> Items
    {
        get { return m_items; }
    }


    protected override void CreateChildControls()
    {
        //create a custom container of our choice for your child controls
        HtmlGenericControl div = new HtmlGenericControl("div");
        foreach (Control ctrl in Items)
        {
            div.Controls.Add(ctrl);
        }
        this.Controls.Add(div);
    }        
}
于 2013-08-12T06:59:41.273 に答える