3

次のコードがあります。ここでは、Session に保存されているデータテーブルをローカル変数にフェッチし、データテーブルを更新しています。次回、セッションにアクセスすると、更新された値がフェッチされます。(私の場合、最初の行は、変数 objTable1 に対してフェッチされたデータテーブルを削除しました):

 protected void Page_Load(object sender, EventArgs e)
    {
        DataTable objTable = (DataTable)Session["dTable"];

        objTable.Rows[0].Delete();

        DataTable objTable1 = (DataTable)Session["dTable"];

    }

ローカル変数はセッション変数のコピーを作成し、その中の更新を行い、セッション変数を更新しないと思いました。

よろしく。

4

1 に答える 1

1

セッション内のオブジェクトへの参照を扱っているので、これがどのように機能するかです。

別のオブジェクトを操作する場合は、セッションでオブジェクトのクローンを作成して操作する必要があります。変更を保存する場合は、セッションに保存されているオブジェクトをクローンに置き換えます。

于 2013-01-23T12:11:31.477 に答える