我之前在 .NET 2.0 中使用过此代码,并且长期以来一直表现良好。我不知道4.0是否与此有关,但我无法解释输出。我把它提炼成这段代码:
Sub page_prerender(s As Object, e As EventArgs)
cache_list()
Dim dstar As DataSet = Cache("dstallarchives")
Dim viewar As DataView = dstar.Tables("archive").DefaultView
Response.Write(viewar.Count & "<br/>") 'output 891
viewar.RowFilter = "customerid=25"
Response.Write(viewar.Count & "<br/>") 'output 52
'clear the dataview, create it fresh from the cache
viewar = New DataView
viewar = Cache("dstallarchives").tables("archive").defaultview
Response.Write(viewar.Count) 'output 52???
End Sub
Cache_list 在包含 891 条记录的数据集中插入一个表。52 有 customerid=25。您可以在上面看到我得到的输出,当它应该是 891 - 52 - 891 我通常不会创建中间 dstar 数据集,而是直接从缓存对象创建数据视图。但现在输出对我来说更没有意义了。请在我的笔记本电脑遭受 3 层楼跌落之前提供帮助。