【问题标题】:What are the pros and cons of having a repeater control in a 3-tier application?在 3 层应用程序中使用中继器控件的优缺点是什么?
【发布时间】:2011-10-13 22:18:22
【问题描述】:

在数据访问方面,或任何其他意见。

如果可能,请说出更好的替代方案。

【问题讨论】:

    标签: asp.net repeater 3-tier


    【解决方案1】:

    中继器控件与您的 3 层应用程序的好坏没有任何关系。它只是一个预构建的 ASP.NET 控件,可用于迭代数据。该数据可以是任何东西,从数据表到模型层中的强类型类。

    我们通常不使用中继器,除非我们正在做一些需要事件处理的事情。

    服务器控件通常有很多开销,因为它们旨在抽象 Web(它们也有自己的生命周期)并提供用于绑定和事件处理的钩子。如果您不需要进行任何事件处理,那么我建议您只使用一个简单的循环。

    【讨论】:

    • 我不同意使用循环代替中继器。服务器端控件的优点是它们对事件中的数据进行预处理,然后仅在稍后呈现内容。如果发生错误,它通常在预处理部分,并允许您干净地重定向到错误屏幕,而不是处理生成的一半页面。此外,这种类型的服务器端控件开销实际上不是问题——它只是处理请求所花费的总时间的一小部分。
    • 我认为这绝对取决于您正在处理的数据类型。理想情况下,您的“业务”或“数据”层应该完成所有处理并向前端提供干净的数据列表。前端不应该担心数据没有处于正确的状态以呈现 - 在我看来,这种类型的验证应该在应用程序的早期发生。
    • IMO 程序员应该采取防御措施,不要假设他们获得的数据是“干净的”。
    • 对不起,是的,很明显,我并不是说你应该假设它是完美的,我只是指出“处理”应该提前完成,而不是在代码隐藏中一个aspx页面。当然,您应该始终在所有级别进行适当的验证。
    猜你喜欢
    • 2017-05-12
    • 2013-11-13
    • 1970-01-01
    • 2012-06-19
    • 2011-07-10
    • 2016-02-27
    • 2010-12-23
    • 2010-10-05
    • 1970-01-01
    相关资源
    最近更新 更多