【发布时间】:2012-12-26 06:39:40
【问题描述】:
我这几天一直在努力寻找这个问题的答案,我很难相信这是不可能的。
我想访问在构建页面时 ASP.NET 运行时自动调用 SqlDataSource.Select 方法时构建的 DataSet/DataTable。
我知道我可以在后面的代码中运行它,但这会导致第二次访问数据库,我真的很想避免这种情况。我遇到的每个示例都告诉您在后面的代码中执行 Select 方法。
有没有办法访问已经检索到的数据?
【问题讨论】:
-
你知道,几年前我曾试图弄清楚这一点,并决定在代码隐藏中绑定代码更容易,这样我更容易访问数据集。如果有人知道如何做到这一点,它可能会改变我处理类似情况的方式。 +1 询问。
-
我根本不会使用那个控件。而是使用 ADO.NET(f.e.
DataAdapter.Fill(DataTable)) 或真正的 ORM 映射器,如 NHibernate 或实体框架。无论如何,尚不清楚您为什么认为“背后的代码第二次访问数据库”。然后使用if(!IsPostBack)。 -
在控件上真的没有选择。我需要对现有页面进行更改,并且没有重写它的奢侈。当您在 SqlDataSource 上调用 Select 方法时,它会根据 Microsoft msdn.microsoft.com/en-us/library/… 访问数据库
标签: c# asp.net ado.net sqldatasource