我有一个网格视图。 我想从网格视图中获取所选行,并将该行中的列值传递给新页面,同时将该值存储在会话中。
到目前为止,我知道如何将它作为字符串存储在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格式。
谢谢!
答案 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对象存储在会话变量中。