当我们想要在用户控件中定义一个模板时,我们在用户控件中声明一个如下所示的字段
public ITemplate MyTemplate { get; set; }这样,用户定义的模板内容将以MyTemplate表示,您可以使用它。
还有一些方法可以自定义模板,例如
[TemplateInstanceAttribute(TemplateInstance.Single)]
public ITemplate MyTemplate { get; set; }上面的示例将启用定义单实例模板(http://www.nikhilk.net/SingleInstanceTemplates.aspx)。
我无意中遇到了单实例模板,并被它的强大功能所震撼。
我的问题是,使用ITemplates可以实现哪些功能?我们如何定义(使用)它们(更具体地说是通过注释)。有没有好的ITemplates文档??(请不要指向msdn)
发布于 2012-02-28 18:27:46
看起来您确实正确地声明了模板。要使用您自己的模板实际填充内容,需要在标记中声明它。例如:
<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);
}这是你要找的东西吗?
https://stackoverflow.com/questions/2610625
复制相似问题