要实现的功能是: 
gridview里面有一个模板列,列里面是textbox. 
当修改textbox的数据时,自动进行触发更新.象编辑一样,只是形式不同而已.请问这个怎么做?谢谢!
对Textbox1写onchange事件,并自动触发更新.
但是,怎么获取到textbox所在的行呢?

解决方案 »

  1.   

    string sid = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
      

  2.   

    但是,要在这个Onchange里面写事件的啊.怎么传值过去呢
      

  3.   

    将onchange的事件写在js中试试,然后就可以去gridview中的事件中取得你想要的行了
      

  4.   

      TextBox roomId = (TextBox)e.Item.FindControl("roomId");
      

  5.   

    不用委托你只能得到TextBox里的文本,而得不到GridView的Key
      

  6.   

      protected override void Render(HtmlTextWriter writer)
            {
                foreach (GridViewRow Row in GridView1.Rows)
                {
                    if (Row.RowType == DataControlRowType.DataRow)
                    {
                        Row.Attributes["ondblclick"] = ClientScript.GetPostBackEventReference(GridView1, "Select$" + Row.RowIndex.ToString(), true);
                        Row.Attributes["style"] = "cursor:pointer";
                        Row.Attributes["title"] = "双击选择行";
                        Row.Attributes.Add("ondblclick", "window.open('WebForm2.aspx?Id=" + this.GridView1.Rows[i].Cells[0].ToString() + "', '翻跟斗', 'height= 400, width= 300, left= 400, top= 300,toolbar=no,menubar=no,scrollsbar=no,resizable=no,location=no,status=no')");                }
                }
                base.Render(writer);
            }
     修改之后在加上面的代码