比如我在GridView中第二列放了个模版,然后插入一个文本框
<ItemTemplate>
  asp:TextBox ID="TextBox9" runat="server" Height="24px" TextMode="MultiLine"
   Width="145px" Value='<%#DataBinder.Eval(Container.DataItem,"qq")%>'></asp:TextBox>
 </ItemTemplate>
然后我在后台如何获得这个文本框里面输入的值啊,比如外面有个button(注意是外面,不是在GridView里面)
protected void Button1_Click(object sender, EventArgs e)
    {
            string aaa = 
    }
当我点击Button1_Click这个button时,把我在TextBox9里面输入的值赋给aaa。
请各位大大帮忙啊,在GridView里面的按钮到是好弄。这个外面的按钮实在不会取值啊。

解决方案 »

  1.   

    ((TextBox)gridView1.rows[xxx].cells[1].findControl["TextBox9"]).Text
      

  2.   

    首先谢谢楼上的,不过还是没有取到啊,还有那个findControl["TextBox9"]因该是()不是[]吧 。
    我输入值了,可以取到的还是“”空值。
      

  3.   

    ((TextBox)(gridView1.rows[xxx].cells[1].findControl["TextBox9"])).Text这个主要是获取方法,但是你是在按钮事件里获取会涉及一些问题,
    比如,rows[xxx]中的xxx怎么获取。这是一个问题,还有我要知道,你的按钮事件指的是什么,是每一行后的按钮吗?还是一个总按钮,那么如果是每一行的按钮。给你一个方法,就是在行绑定事件里,对每个按钮命名时后面加上一个变量,就是i来表示的是第几行,那么每个按钮事件里,可以根据按钮的名称分解出当前是第几行。 因为gridview不支持隐藏列,取不出数据,要不会更简单点。呵。如果你是一个总按钮,那么我想知道,你是要取全部的吗?那么用一个循环,xxx就可以按成你的循环变量。也可以取到相应的数据。如果就一行数据。,那就当我白说。呵。
      

  4.   


    不是每一行后面的按钮,是一个独立于gridView的按钮,就是直接拖进来的一个普通button按钮。
    就像普通提交按钮那样的。
    那如果我要获取第一行的值就是
    ((TextBox)(gridView1.rows[0].cells[1].findControl["TextBox9"])).Text 了?
    还是说这个xxx不能直接写0,而是要通过某些方法来取的?至少现在我写
    ((TextBox)(gridView1.rows[0].cells[1].findControl["TextBox9"])).Text 无法得到第一行的
    TextBox9中,我输入的数据取到的都是空值。