Если я правильно понял ваш вопрос, попробуйте что-то вроде этого:
Page.aspx:
<%@ Page Language="C#" %>
<%@ Register src="UC.ascx" tagname="UC" tagprefix="uc1" %>
<uc1:UC ID="UC1" runat="server">
<RepeaterTemplate>
<%# Eval("Name") %> <%# Eval("Age") %><br />
</RepeaterTemplate>
</uc1:UC>
UC.ascx:
<%@ Control Language="C#" ClassName="UC" %>
<script runat="server">
class Person {
public string Name { get; set; }
public int Age { get; set; }
}
protected void Page_Load(object sender, EventArgs e) {
repeater1.ItemTemplate = RepeaterTemplate;
repeater1.DataSource = new Person[] {
new Person { Name="Joe", Age=20},
new Person { Name="Jack", Age=30},
};
repeater1.DataBind();
}
public ITemplate RepeaterTemplate { get; set; }
</script>
<asp:Repeater runat="server" ID="repeater1">
</asp:Repeater>
Это в основном передает шаблон, указанный на внешней странице, ретранслятору в пользовательском элементе управления.
Возможно, это не совсем ваш сценарий, но, надеюсь, это даст вам идеи.