0

グリッドビューがあります。グリッドビューから選択した行を取得し、その行の列の値を新しいページに渡し、その値をセッションに保存したいと思います。

これまでのところ、tutから文字列として格納する方法は知っていますが、値をint形式に保持して文字列に変換しない方法はわかりません。

これが私のC#コードにあるものです...私が言ったように、これは行を文字列型として書き出すので、intのままにしておきたいです。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Select")
        {
            Int16 num = Convert.ToInt16(e.CommandArgument);
            TextBox2.Text = GridView1.Rows[num].Cells[0].Text;

        }
    }

セッションに入れるのは簡単です。私はそれが次のようになっていることを理解しました:

Session["customerID"] =  GridView1.Rows[num].Cells[0].Text;

したがって、真の問題は、値をint形式で保持する方法です。

ありがとう!

4

2 に答える 2

1

int型に直接保存することはできません。Sessionは値をオブジェクト型に格納します。したがって、intとしてキャストする必要があります。

int customerID = (int) Session["customerID"];
      // or
int customerID = Convert.ToInt32( Session["customerID"].ToString());
     // or
int customerID = int.Parse( Session["customerID"].ToString());
于 2012-08-06T22:30:25.237 に答える
1

次のようなことを行うと、値が返されます。

var myInt = (int)Session["customerID"]

セッション変数は、文字列だけでなく、任意のオブジェクトを格納できます。技術的には、gridviewオブジェクト全体をセッション変数に格納できます。

于 2012-08-06T22:31:58.213 に答える