使用ObjectDataSource是一个好习惯吗?

时间:2011-07-21 11:17:18

标签: c# asp.net

在我的公司中,很少有员工正在使用ObjectDataSource。示例代码段为:

<asp:ObjectDataSource ID="odsRequirement" runat="server" EnablePaging="True" 
                      MaximumRowsParameterName="intMaxRows"
                      SelectMethod="GetAll" 
                      StartRowIndexParameterName="intRowIndex" 
                      TypeName="MyNamespace.MyType" 
                      SortParameterName="SortString"
                      OnSelecting="odsRequirement_Selecting"
                      SelectCountMethod="GetAllCount">
    <SelectParameters>
        <asp:Parameter Name="A" DefaultValue="null" />
        <asp:Parameter Name="B" DefaultValue="null" />
        <asp:Parameter Name="C" />
        <asp:Parameter Name="D" />
        <asp:Parameter Name="E" />
    </SelectParameters>
</asp:ObjectDataSource>

在SelectMethod GetAll 之后,SelectCountMethod GetAllCount 是否会被触发?我们应该采取更好的方式吗?

提前致谢:)

1 个答案:

答案 0 :(得分:3)

我个人并不喜欢这些类型的控件。我更喜欢从代码隐藏中获取数据并将数据绑定到页面。我的问题是你正在将域逻辑烘焙到ASPX页面本身。我建议通过将获取数据的代码移动到另一个类(即应该是Domain或Model - 通常是类库)中来分离它。

无论如何,尝试远离使用此控件并将数据收集逻辑移动到另一个文件中。从长远来看,你会看到好处。

http://geekswithblogs.net/opiesblog/archive/2006/09/11/90906.aspx