ObjectDataSource SelectMethod和SelectCountMethod

时间:2014-02-12 03:16:28

标签: c# asp.net objectdatasource

使用ObjectDataSource控件时,SelectMethodSelectCountMethod可以使用实例方法或静态方法。根据{{​​3}},如果使用实例方法,将在完成时创建并处理新实例。

  

如果是实例方法,则创建业务对象   每次销毁由SelectMethod指定的方法   财产被称为。

但是,根据此MSDN documentation,如果启用了分页并且SelectMethodSelectCountMethod都是实例方法,则在调用这些方法时会使用相同的实例。

  

如果我们启用了分页和SelectMethod和SelectCountMethod   是实例方法,调用两者时使用相同的实例   方法,所以我们可以在一个字段中保存寄存器的总数   SelectMethod然后我们可以在SelectCountMethod中返回它。

in-depth walkthrough中,所提供的信息(显然是由MS ASP.NET团队的成员)与上述信息相矛盾。

  

但是你应该意识到不同的实例用于调用   Select和SelectCount方法 ...

我的问题:哪些行为是在asp.net中实现的?调用这些方法时使用的是相同的实例,还是由不同的实例调用?

我曾尝试(在.net 3.5 VS 2008中)使用第一个引用实现分页(表示它们由同一个实例调用),并且 为我工作。当我将记录计数设置为SelectMethod中的非静态变量/字段时,在调用SelectCountMethod时确实返回相同的值。我认为应该意味着使用相同的实例,这与第二个引用中的信息相反,并且我可以安全地在SelectMethod中设置记录计数并返回它在SelectCountMethod中使用非静态变量。但是,我更愿意,如果有人能够确认这一点,因为第一个引用很旧(写于06),并且我无法测试在新版本(.net 4.0及更高版本)中是否已更改此行为。

如果我的问题不清楚,或者有正式的参考资料可以回答我的问题,请告诉我。

0 个答案:

没有答案