ASP.NET:重用相同的Repeater ItemTemplate

Den*_*gan 5 c# asp.net refactoring repeater dry

我目前正在使用ItemTemplate同一页面上的三个中继器,但是它们都绑定到不同的数据源。有什么方法可以在使用用户控件轻松引用此模板的情况下重构我的Web表单因此我只需要定义一次即可?

Pra*_*ani 1

是的,这是可能的,创建另一个具有转发器的asp.net控件(ascx),创建一个接受数据表(或列表或项目)的公共方法并将转发器与其绑定,您可能会在10分钟内完成此操作


public void BindData(DataTable dt)
{
    rpt.DataSource = dt;
    rpt.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

如果您的 dt 具有相同的列名称,它将起作用。