我想创建一个自定义控件,我应该可以在asp面板中使用一些子控件。
<custom:panel runat="server" id="CustomPanel">
<asp:TextBox id="textbox1" runat="server" />
<span>Test</span>
</custom:panel>
我的目标是创建一个自定义容器,并使innerhtml与上面相同。我应该能够在页面后面的代码中访问如下所示的服务器端控件。
textbox1.Text="something";
由于
答案 0 :(得分: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);
}
}