ASP .Net使用会话状态(VB)从gridview传递值

问题描述:

我是学习.net的经典asp程序员。这是我的问题:ASP .Net使用会话状态(VB)从gridview传递值

我有一个gridview与以下列:Pkey,Name,Address。假设我想在Pkey字段上有一个超链接来将该值传递给另一个页面。我已经能够使用querystrings得到这个工作。我想使用会话状态来做到这一点。我真的不知道该怎么做,因为pkey是在gridview中。任何帮助,将不胜感激。

+0

你为什么要?设置会话变量将需要回发,然后重定向到另一个页面,其中查询字符串参数直接转到其他页面,而无需往返服务器。如果用户有多个窗口/选项卡打开到包含gridview的同一页面,则超链接中的查询字符串也将正常工作;如果选项卡1将会话变量设置为X,并且选项卡2将会话变量设置为Y,是不是应用程序会感到困惑? – 2010-09-15 23:10:20

+0

由于我仍然在学习.NET,我只是认为会话状态是将变量传递给另一个页面而不是使用查询字符串的新方法。所以这仍然是传递变量的首选方法呢? – Mike 2010-09-15 23:54:40

+0

我更喜欢QueryString,但@pjabbott:不会有_extra_往返,只是稍微长一点。它可以是一种有用的技术。 – 2010-09-16 11:16:38

尝试此代码: 第一页

保护无效GridView1_RowDataBound(对象发件人,GridViewRowEventArgs E) { 如果(e.Row.RowType == DataControlRowType.DataRow) { 变种firstCell = e.Row .Cells [0]; firstCell.Controls.Clear(); firstCell.Controls.Add(new HyperLink {NavigateUrl =“secondpage?pkey =”+ firstCell.Text,Text = firstCell.Text,Target =“_blank”}); Session [“PKEY”] = firstCell.Text; }} 二 页:

string pkey = Convert.ToString(Session["PKEY"]); 
    label1.Text = pkey;