2013-07-24 3 views
0

Я хотел бы создать настраиваемый элемент управления, в котором я должен иметь некоторые дочерние элементы управления, например, в панели asp.Пользовательский контроль с внутренним html C#

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

Моя цель - создать пользовательский контейнер и иметь тот же самый, что и выше. Я должен иметь доступ к управлению на стороне сервера, как показано ниже в коде страницы.

textbox1.Text="something"; 

Благодаря

ответ

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); 
    }   
} 
Смежные вопросы