RuntimeTemplate Component
RuntimeTemplate makes it easier to create templates completely via code.
The following area shows the page-level code required to bind a repeater with a completely code-created ItemTemplate.
protected void Page_Load( Object sender, EventArgs e ) {
if ( !Page.IsPostBack ) {
Repeater1.DataSource = new String[] {"one", "two", "three" };
Repeater1.DataBind();
}
}
protected void Repeater1_Init( Object sender, EventArgs e ) {
MetaBuilders.WebControls.RuntimeTemplate template = new MetaBuilders.WebControls.RuntimeTemplate();
((Repeater)sender).ItemTemplate = template;
template.CreateTemplate += new MetaBuilders.WebControls.RuntimeTemplateEventHandler( CreateRepeater1Template );
}
protected void CreateRepeater1Template( Object sender, MetaBuilders.WebControls.RuntimeTemplateEventArgs e ) {
Label label = new Label();
e.Container.Controls.Add( label );
label.DataBinding += new EventHandler( DataBindLabel );
e.Container.Controls.Add( new LiteralControl( "<br>" ) );
}
protected void DataBindLabel( Object sender, EventArgs e ) {
Label label = sender as Label;
RepeaterItem container = label.NamingContainer as RepeaterItem;
label.Text = container.DataItem.ToString();
}