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 回答