【发布时间】:2012-07-27 20:18:17
【问题描述】:
我知道有人会想要解决这个问题的代码,但是 Gridview、对象数据源及其所有相关事件的管道代码以及连接的业务对象太多了,无论我如何压缩它.不过我觉得这个问题还是可以回答的。
我有一个与 ASP.NET Gridview 关联的 ObjectDataSource 和一个名为 GetALLNames 的默认 SelectMethod。这个方法说默认带回 100 条记录,并将它们绑定到 GridView。
但是,在此页面上,我有一个“搜索”按钮(在网格之外),用户可以在其中选择一个名称并按“搜索”。 Search 按钮将 .SelectMethod 更改为 GetNameByID,返回列表,并将短过滤列表绑定到 Gridview。这也很好用,因为 GridView 中只有 1 条记录。
现在的问题是,当我按此 GridView 上的 编辑 按钮进入显示单个记录的编辑模式时,对象数据源似乎正在从默认 重新获取所有记录GetALLNames 方法通过缓存(我在 ODS 上有 EnableCaching="True")。结果? GridView确实进入了编辑模式,但是对于 100 条原始记录中的第 1 条记录,没有在单个过滤记录上进入编辑模式。
有没有办法阻止 ODS 从缓存中的默认列表重新获取 或 调用原始的 GetALLNames 方法,而只是进入编辑模式单条记录?
谢谢!
【问题讨论】: