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

response.redirect传值问题,急呀!!
我在A页面点击按钮事件里取出GRIDVIEW的ID,采码如下:
for(int =0;i<=gridview1.rows.count;i++)
{
  checkbox cb=(checkbox)gridview1.rows[i]findcontrlo("chkcheck")
  if (cb.checked)
  {
  id=gridview1.datakeys[i]["gg_id"].tostring();

  response.redirect("cs.aspx?id="+id);
  }
}
上面的代码用response.write(id)能在当前页正常显示出取出来的ID值。为什么一传递给浏览器,浏览器只收到的是选中的第一个记录的ID呢。另外如果能传递,在另一个页面如何获取出来。
望高手解答!

------解决方案--------------------
for(int =0;i<=gridview1.rows.count;i++)
{
checkbox cb=(checkbox)gridview1.rows[i]findcontrlo("chkcheck")
if (cb.checked)
{
id +=gridview1.datakeys[i]["gg_id"].tostring()+",";

}
}

 response.redirect("cs.aspx?id="+id.TrimEnd(','));

------解决方案--------------------
因为当循环到第一个选中的时候,满足提交已经获取id并且转向了

如果是要获取最后一个选中的ID,那么你应该response.redirect("cs.aspx?id="+id);
放在循环外边

获取地址栏传值
C# code
string ID = Request.QueryString["id"];