ASP.Net ITemplate – 声明的方式

当我们想在用户控件中定义一个模板时,我们在用户控件中声明了这样的字段

public ITemplate MyTemplate { get; set; }

这样用户定义的模板内容将在MyTemplate中表示,您可以使用它.

例如,有一些方法可以自定义模板

[TemplateInstanceAttribute(TemplateInstance.Single)]
public ITemplate MyTemplate { get; set; }

上面的示例将启用定义单实例模板(http://www.nikhilk.net/SingleInstanceTemplates.aspx).

我不小心碰到了单个实例模板,并被它的力量所震撼.

我的问题是ITemplates的所有可能性是什么?我们如何定义(使用)它们(更具体地说是通过注释).有没有可用于ITemplates的好文档? (请不要指向msdn)

最佳答案 看起来你正确地宣布了模板.要使用您自己的模板实际填充内容,请在标记中声明它.例如:

<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);
  }

这是你在找什么?

点赞