将值从网格视图传递到新页面ASP.NET C#?

时间:2012-08-06 22:23:02

标签: c# asp.net gridview

我有一个网格视图。 我想从网格视图中获取所选行,并将该行中的列值传递给新页面,同时将该值存储在会话中。

到目前为止,我知道如何将它作为字符串存储在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格式。

谢谢!

2 个答案:

答案 0 :(得分: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());

答案 1 :(得分:1)

你可以通过这样的方式获得价值:

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

会话变量可以存储任何对象,而不仅仅是字符串。您可以在技术上将整个gridview对象存储在会话变量中。