日期:2014-05-17  浏览次数:20463 次

怎么选中GridView里的一列,然后把值传递到另外一个页面。
我需要先通过一个页面把一些基本信息检索出来,然后选中传递到另外一个页面,在另外一个页面内添加一些其他信息。最好是打开新的页面后原页面还在。所以选择用session,可是我写的怎么已知错误。麻烦高手指点一下,我也是边学编写的,谢谢!
这是我写的代码,一直有错误:
  原页面  
  Session["dw"] = GridView1.Rows[e.RowIndex].cell[0].tostring();
  Session["bh"] = GridView1.Rows[e.RowIndex].cell[3].tostring();
  目标页面 
  string ddw = Session["dw"].ToString;
  string bbh = Session["bh"].ToString;
错误信息:
错误 38 无法将方法组“ToString”转换为非委托类型“string”。您是要调用方法吗?
错误 39 无法将方法组“ToString”转换为非委托类型“string”。您是要调用方法吗?
错误 40 “System.EventArgs”不包含“RowIndex”的定义,并且找不到可接受类型为“System.EventArgs”的第一个参数的扩展方法“RowIndex”(是否缺少 using 指令或程序集引用?)
错误 41 “System.EventArgs”不包含“RowIndex”的定义,并且找不到可接受类型为“System.EventArgs”的第一个参数的扩展方法“RowIndex”(是否缺少 using 指令或程序集引用?)

------解决方案--------------------
Session["dw"] = GridView1.Rows[e.RowIndex].cell[0].ToString();
Session["bh"] = GridView1.Rows[e.RowIndex].cell[3].ToString();
目标页面 
string ddw = Session["dw"].ToString();
string bbh = Session["bh"].ToString();
------解决方案--------------------
另外。你的代码事件也不对

GridView里的一列还是1行?
列的话要遍历的
------解决方案--------------------
代码都写的不对,一堆错误怎么能传递的过去呢
ToString 是一个方法,你把括号都丢了ToString();
C# code

StringBuilder sbUrl = new StringBuilder();
sbUrl.Append("跳转页面的路径").Append("?").Append(字段1)
.Append(字段2)
.Append(字段3)
.Append(字段4)...;

Response.Redirect(sbUrl.ToString());  //跳转

------解决方案--------------------
  把你所需要传递的列转换为模板列,再取值,就可以解决了。我想问楼主你这样取值怎么分页呢?分页后还能取到值吗?还有我做的数据太多了(没有分页,用的滚动条),在选择一列的时候不是取到值,而只是刷新页面,GridView也不见了,哪位大侠能帮忙解决这个问题啊!