北极冰点水 .NET 天空------天空是一个人永远也走不完的大路, 呼吸, 歌唱, 向着阳光

给予我们的誓言 以凝固不化的可能

导航

vs2005 Gridview 得问题???

想在Gridview中建一Command列,建在关键field中,但是使用GridView1.Rows[i].Cells[1].Text.Trim();取出来得居然是空,虽然以前在vs2003中可以隐藏关键值列取出text,但是2005中隐藏列取出得text也是"",不得已只能使用select属性,但是真不美观,唉,也许还有其他方法吧,各位使用vs2005 gridview 得高人不知也没碰到过?暂且记下
    还有点击select后首先触发rowcommand事件,在rowcommand事件中sender是Gridview1,selectindex=-1无法获取当前select行中得cell值,然后才是SelectIndexchanged事件;所以对于select事件代码只能写在GridView1_SelectedIndexChanged(object sender, EventArgs e)
中了.我记得在vs2003中是DataGrid_Itemcommand事件中作这些事吧,vs2003和vs2005还真是不一样,继续熟悉中.下面是偶得测试代码片断

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
      

/*点击select后首先处罚rowcommand事件,在rowcommand事件中sender是Gridview1,无法获取当前select行中得cell值,然后才是SelectIndexchanged事件
        commandfield,Boundfield visible=false也无法获取????
        * int i = GridView1.SelectedIndex;
        if (i != -1)
        {
            string UserName = GridView1.Rows[i].Cells[1].Text.Trim();

            Response.Redirect("UserProfile.aspx?UserName=" + UserName);
        }*/

            
    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        int i = GridView1.SelectedIndex;
        string UserName = GridView1.Rows[i].Cells[1].Text.Trim();
     
        Response.Redirect("UserProfile.aspx?UserName=" + UserName);
      
    }

posted on 2005-12-07 15:39  北极冰点水  阅读(1347)  评论(5)    收藏  举报