Один из способов - создать класс, который реализует интерфейс ITemplate :
public class PropertyTemplate : ITemplate
{
private string _value = string.Empty;
public PropertyTemplate(string propValue)
{
this._value = propValue;
}
public void InstantiateIn(Control container)
{
container.Controls.Add(new LiteralControl(this._value));
}
}
Затем в вашем коде выделите ItemTemplate
следующим образом:
myTemplateField.ItemTemplate = new PropertyTemplate(myBusinessObject.MyProperty);
Другой способ - использовать Page.LoadTemplate , если ваш пользовательский шаблон находится в отдельном файле .ascx
:
myTemplateField.ItemTemplate = Page.LoadTemplate("~/MyTemplate.ascx");
И файл .ascx
будет выглядеть:
<%# Eval("MyProperty") %>