我想在我的所有网页中创建一个用户控件(Div),就像面板一样。例如,UserControl可以有两个具有背景设计的DIV或TR。如果它被添加到页面,则UserControl必须允许将控件添加到其中,即Div,Labels和TextBoxes。 div的高度应为AUTO。请帮帮我。
答案 0 :(得分:3)
将以下属性添加到UserControl:
[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[TemplateInstance(TemplateInstance.Single)]
public ITemplate Content
{
get
{
return _content;
}
set
{
_content = value;
}
}
private ITemplate _content;
然后在CreateChildControls方法中处理内容:
protected override void CreateChildControls()
{
if (this.Content != null)
{
this.Content.InstantiateIn(this);
}
base.CreateChildControls();
}
在标记中,您现在可以将任何内容添加到控件的内容标记中:
<ctl:YourControl runat="server" ID="Foo" style="background-color:#666">
<Content>
<asp:Label ... />
<asp:TextBox... />
</Content>
</ct1:YourControl>
答案 1 :(得分:0)
将控制面板代码写在另一页上。
页面上的检查是否需要并包含控制面板。如果页面上还有其他元素需要特殊控件。
你可以做一个if()并在那里添加控件。