gridview 中有一个按钮,一些绑定列
gridview 绑定代码如下
     GridView1.DataSource = bll.GetList(productNo, pass, makeDate);
        GridView1.DataBind();
        GridView1.Columns[0].Visible = false; //隐藏列
        GridView1.Columns[1].Visible = false;
GridView1_RowCommand事件中代码如下: int index=Convert.ToInt16(e.CommandArgument);
int pass = Convert.ToInt16(GridView1.Rows[index].Cells[1].Text); //第二次点击时 这行出错,这里的值变成空了,
...一些数据库操作
BindData(); //重新绑定gridview为什么第一次点击的 正常,第二次就出错了
请问怎么回事?

解决方案 »

  1.   

    你是不是忘了将 数据绑定 放到
    if(!IsPostBack)
    {
    //你的绑定.
    }
      

  2.   

    第一次绑定放到
    if(!IsPostBack)
    {
    //你的绑定.
    }
    里。
      

  3.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindData();
            }
        }
    我已经这样写的了
      

  4.   

    跟踪显示的结果是点击完后重新绑定 值为空 了 
    protected void GridView1_DataBound(object sender, EventArgs e)
        {
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                  string pass = GridView1.Rows[i].Cells[1].Text;     
            }
        }