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