【问题标题】:ASP.NET: Reusing the same Repeater ItemTemplateASP.NET:重用相同的Repeater ItemTemplate
【发布时间】:2010-03-11 14:32:41
【问题描述】:

我目前正在为三个转发器使用某个ItemTemplate,它们都在同一页面上,但它们都绑定到不同的数据源。有没有什么方法可以重构我的 web 表单 使用用户控件轻松引用此模板,因此我只需定义一次?

【问题讨论】:

  • 如果模板是在标记中定义的,如果其他控件应该引用之前定义的相同模板,它就会变脏。用户控件很干净,在这种情况下是我的选择。有什么理由不想要控件?

标签: c# asp.net refactoring repeater dry


【解决方案1】:

没有。这就是用户控件存在的原因,用于封装重复的可视组件。

【讨论】:

  • 我不太同意。对我来说,用户控件是他们自己的“实体”,可以放在任何地方并保持自己的状态等。我正在寻找类似于宏的东西。
【解决方案2】:

是的,有可能,创建另一个具有中继器的 asp.net 控件(ascx),创建一个接受数据表(或列表或项目)的公共方法并将中继器绑定到它,您可能会在10分钟


public void BindData(DataTable dt)
{
    rpt.DataSource = dt;
    rpt.DataBind();
}

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

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多