首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Gridview中选中行的值传递到下一个页面,该怎么处理

2012-06-12 
Gridview中选中行的值传递到下一个页面前台部分代码asp:CommandField ShowEditButtontrue ShowDeleteB

Gridview中选中行的值传递到下一个页面
前台部分代码
<asp:CommandField ShowEditButton="true" ShowDeleteButton="true" ShowSelectButton="true"
  HeaderText="操作" EditText="修改" UpdateText="保存" CancelText="取消" SelectText="详细"  
  DeleteText="删除" ControlStyle-CssClass="LinkButton" />

点击详细,讲这行第一列ID的值传给下一个页面

protected void gvPriceRegion_RowCommand(object sender, GridViewCommandEventArgs e)
  {
  if(e.CommandName.Equals("Select"))
  {
  string id = string.Format("FormulaManage.aspx?ID={0}", this.gvPriceRegion.DataKeys[this.gvPriceRegion.SelectedIndex].Value.ToString());
  Response.Redirect(id);
  }
  }
这么写说报错:Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

this.gvPriceRegion.SelectedIndex的值为-1,而且无论我点任何一行的详细按钮,都是-1;如果this.gvPriceRegion.SelectedIndex+1,传的都是第一行的ID

怎么解决

[解决办法]
void gridview1_SelectedIndexChanged(Object sender, EventArgs e) 

GridViewRow row = gridview1.SelectedRow; 
//row.Cells[2].Text; 
//跳转 

热点排行