Asp.net 使用语句中的dataview

Asp.net 使用语句中的dataview,asp.net,Asp.net,我正在使用DataView和using语句,如下所示: DataTable dt = /*Fetch data from database*/ using (DataView dv = dt.DefaultView) { dv.RowFilter = “Filter string”; } 它在页面加载时工作良好。(IsPostback=false) 当我的页面发回并执行同一段代码时,dv返回null。(可能是因为dv是在页面加载时显示的?) 如果我删除using语句,那么即使在post b

我正在使用DataView和using语句,如下所示:

DataTable dt = /*Fetch data from database*/
using (DataView dv = dt.DefaultView)
{
  dv.RowFilter = “Filter string”;
}
它在页面加载时工作良好。(
IsPostback=false

当我的页面发回并执行同一段代码时,
dv
返回null。(可能是因为
dv
是在页面加载时显示的?)

如果我删除using语句,那么即使在post back上,一切都可以正常工作

我的理解是,我们应该对继承“IDisposable”的每个对象使用using语句


有人能解释一下为什么使用语句将
dv
包装在
中不起作用吗?

您能在这里告诉我们您的
ispostback
情况吗?处理对象不会使其为空。你一定还有别的问题。如果在外部作用域中有另一个名为dv的变量,则可能发生这种情况。实际上,我检查了,dv不返回null。它具有具有列名的数据,但行被清除。我并没有在其他地方使用dv。似乎若对象在页面加载时被释放,它将被清除,并且不能被赋值,即使我们手动赋值。将语句与dataview一起使用是一种好的做法吗?