我注意到ObjectDataSource
使用CacheKeyDependency的行为很奇怪
当我CacheKeyDependency
在声明性 .aspx 语法中设置时,ObjectDataSource.Selecting
事件(和 Selected)被调用两次!!!(当然,相关的数据库也会SelectMethod
被调用两次)
但是,如果我删除Selecting Event 发生,正确,只有一次CacheKeyDependency
!ObjectDataSource
速度方面,如果我假设 Selecting/Selected 只被调用一次,这可能会破坏我的代码隐藏逻辑......
你们有人注意到了吗?
这种行为可能归因于 ASP.NET 中的错误,或者我的代码中可能存在一些错误?
PS:事件的时间线是这样的,加粗的是重复的:
PageLoad
ODS_Selecting
DataLayer Select
ODS_Selected
ODS_Filtering
GridView_DataBound
**ODS_Selecting**
**DataLayer Select**
**ODS_Selected**
ODS_Filtering
GridView_DataBound
GridView_PreRender