在我的公司中,很少有员工正在使用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 是否会被触发?我们应该采取更好的方式吗?
提前致谢:)
答案 0 :(得分:3)
我个人并不喜欢这些类型的控件。我更喜欢从代码隐藏中获取数据并将数据绑定到页面。我的问题是你正在将域逻辑烘焙到ASPX页面本身。我建议通过将获取数据的代码移动到另一个类(即应该是Domain或Model - 通常是类库)中来分离它。
无论如何,尝试远离使用此控件并将数据收集逻辑移动到另一个文件中。从长远来看,你会看到好处。
http://geekswithblogs.net/opiesblog/archive/2006/09/11/90906.aspx