我目前有:
<uc:MyControl ...>
<Template>
</Template>
</uc:Mycontrol>
我想
<uc:MyControl ...>
<FishBiscuit>
html
</FishBiscuit>
<FishBiscuit>
html
</FishBiscuit>
<FishBiscuit>
html
</FishBiscuit>
<FishBiscuit>
html
</FishBiscuit>
.
.
.
但是我不确定它是否可能,或者如果它是如何连接的话。有什么想法吗?
答案 0 :(得分:2)
使用您选择的方法似乎不太可能。下一个标记
<uc:MyControl runat="server">
<FishBiscuit>
html1
</FishBiscuit>
<FishBiscuit>
html2
</FishBiscuit>
</uc:MyControl>
如果您使用自定义控件的html2
属性,则应仅设置最后一个模板(public ITemplate FishBiscuit
值)。所以,有两种方法:
请参阅,您在上面发布的标记可以转换为:
<asp:MultiView runat="server">
<asp:View runat="server">
html
</asp:View>
<asp:View runat="server">
html
</asp:View>
<asp:View runat="server">
html
</asp:View>
<asp:View runat="server">
html
</asp:View>
</asp:MultiView>
更接近你提出的标记。
答案 1 :(得分:0)
它们必须是不同的属性:
[
PersistenceMode(PersistenceMode.InnerProperty),
TemplateInstance(TemplateInstance.Single)
]
public ITemplate FishBiscuit { get; set; }
[
PersistenceMode(PersistenceMode.InnerProperty),
TemplateInstance(TemplateInstance.Single)
]
public ITemplate FishBiscuit2 { get; set; }
上面定义的每个模板都会转换为属性,因此它必须具有匹配的属性名称。
HTH。