当我们想在用户控件中定义模板时,我们在用户控件中声明了这样的字段
public ITemplate MyTemplate { get; set; }
这样用户定义的模板内容将在MyTemplate中表示,您可以使用它。
并且有一些方法可以自定义模板,例如
[TemplateInstanceAttribute(TemplateInstance.Single)]
public ITemplate MyTemplate { get; set; }
上面的示例将启用定义单个实例模板(http://www.nikhilk.net/SingleInstanceTemplates.aspx)。
我偶然遇到了单个实例模板,并被它的力量所震撼。
我的问题是ITemplates的所有可能性是什么?我们如何定义(使用)它们(更具体地说是通过注释)。有没有可用于ITemplates的好文档? (请不要指向msdn)
答案 0 :(得分:2)
看起来您确实正确地声明了模板。要使用您自己的模板实际填充内容,请在标记中声明它。例如:
<MyControl runat="server" ...>
<MyTemplate>
... any standard ASP.NET controls in here
<asp:Label runat="server" ID="lblName"/>
</MyTemplate>
</MyControl>
public void InstantiateIn(Control container) {
var lblName = container.FindControl("lblName") as Label;
lblName.Text = "Blah";// set from your data layer or otherwise
Button b = new Button();
b.ID = "B";
container.Controls.Add(b);
}
这是你在找什么?