次のように、using ステートメントで DataView を使用しています。
DataTable dt = /*Fetch data from database*/
using (DataView dv = dt.DefaultView)
{
dv.RowFilter = “Filter string”;
}
ページの読み込み時に正常に動作します。( IsPostback = false
)。
ページがポストバックされ、同じコードが実行されると、dv
null が返されます。(dv
ページの読み込み時に破棄された可能性がありますか?)
using ステートメントを削除すると、ポストバックでもすべてが正常に機能します。
控えめに言っても、「IDisposible」を継承するすべてのオブジェクトで using ステートメントを使用する必要があります。
をステートメントdv
でラップすることがうまくいかない理由を誰かが説明できますか?using