我正在尝试构建一个模板化控件。您将看到作为字段部分的一部分,我希望能够将控件定义为子控件。当我尝试编译时,我收到错误消息“ MyTemplateControl.Field'没有名为'Button'的公共属性”。有谁知道如何完成我想要做的事情?
下面是一个示例 XHTML 标记,下面是我的控件实现。
我已经编辑了我的示例,希望能阐明我在寻找什么。感谢大家提供 MSDN 链接。我已经经历过那些了。
我正在尝试构建的是一个数据输入控件,它将为我自动格式化表格。我们做了很多数据输入网络表单,我想缩短实施时间。
<cc1:MyForm ID="MyForm1" runat="server">
<ViewTemplate>
<cc1:Field Question="What is your name?">
<asp:Label ID="myLabel" runat="server" />
</cc1:Field>
</ViewTemplate>
<EditTemplate>
<cc1:Field Question="What is your name?">
<asp:Textbox ID="myTextbox" runat="server" />
</cc1:Field>
</EditTemplate>
</cc1:MyForm>
public class MyForm : WebControl, INamingContainer
{
private FieldCollection _fieldCollection;
private FieldCollection _field2Collection;
public FieldCollection ViewTemplate
{
get
{
if (_fieldCollection == null)
{
_fieldCollection = new FieldCollection();
}
return _fieldCollection;
}
}
public FieldCollection EditTemplate
{
get
{
if (_field2Collection == null)
{
_field2Collection = new FieldCollection();
}
return _field2Collection;
}
}
}
public class FieldCollection : CollectionBase
{
.
.
.
}
[ParseChildren(false)]
public class Field
{
.
.
.
}