怎么绑定?我这个输入筐是要看条件才自动添加的!晕呀!好像没什么人关注我这个问题csdn上好像没有类似的问题呀!

解决方案 »

  1.   

    你需要把控件绑定到DataGrid上,当条件不满足时可以在ItemDataBound里面把它删除
      

  2.   

    假设DataGrid的某一列声明如下<asp:TemplateColumn>   <ItemTemplate>      <asp:TextBox Runat="server" ID="txtID" Text='<%# DataBinder.Eval(Container.DataItem,"au_id") %>'>      </asp:TextBox>   </ItemTemplate></asp:TemplateColumn>读取方法:TextBox txt = (TextBox)DataGrid1.Items[1].FindControl("txtID");Response.Write(txt.Text);
      

  3.   

    <asp:TextBox id="TextBox" runat=server Visible='bool'>
    想办法把条件的bool写到Visible里
      

  4.   

    for (int i=0;i<DataGrid1.Items.Count;i++)
    {
    TextBox TextBoxUrl = (TextBox)DataGrid1.Items[i].Cells[1].FindControl("TextBoxUrl");
    if (TextBoxUrl !=null)
    {
    text=TextBoxUrl.Text;
    }
    }
      

  5.   

    "我在DataGrid1_ItemDataBound事件里面手动加了一个textbox控件 "使用模版列添加 textbox然后再SelectedIndexChanged()里循环寻找该textbox
      

  6.   

    在你POSTBACK页面之后,请你重新添加
    TextBox TextBoxUrl=new TextBox();
    TextBoxUrl.ID="TextBoxUrl";
    TextBoxUrl.Text="http://";
    e.Item.Cells[1].Controls.Add(TextBoxUrl);
    然后去寻找 TEXTBOX
    他会将您的TEXTBOX中的状态保存
      

  7.   

    建议你将那个textbox放在模板列里,如果没有满足的条件则隐藏他(用style="display:none");满足条件的时候显示他(用style='diplay:""')。
    这样textBox不会因为回传而消失,你也可以找到他并接受用户的输入。
      

  8.   

    隐藏和显示就是在item_create事件中增加textbox的相应属性。
      

  9.   

    隐藏是不行的,会出现新的问题
    因为我点击这个按钮以后还是在这个页面,所以在DataGrid1_ItemDataBound里面删除是执行不了的,点击按钮以后每项都显示textbox了!我是在DataGrid1_ItemDataBound事件里面直接删除的,
    if (e.Item.Cells[4].Text!="6")
    {
    e.Item.Cells[1].Controls.Remove(e.Item.Cells[1].FindControl("TextBox2"));
    }
    我点击按钮后用
    for (int i=0;i<DataGrid1.Items.Count;i++)
    {

    if (DataGrid1.Items[i].Cells[1].FindControl("TextBox2")!=null)
    {
    text=((TextBox)DataGrid1.Items[i].FindControl("TextBox2")).Text;
    }
    }
    还是得不到呀!注:我的按钮不是在datagrid里面的
      

  10.   

    to KK4(逐月)
    在你POSTBACK页面之后,请你重新添加
    TextBox TextBoxUrl=new TextBox();
    TextBoxUrl.ID="TextBoxUrl";
    TextBoxUrl.Text="http://";
    e.Item.Cells[1].Controls.Add(TextBoxUrl);
    然后去寻找 TEXTBOX
    他会将您的TEXTBOX中的状态保存
    POSTBACK以后重新加载有什么用!我还是得不到他的值呀!
      

  11.   

    我用如下代码能找到这个控件,可为什么取不到他的值呢?
    if (DataGrid1.Items[6].Cells[1].FindControl("TextBox2")!=null)
    {

    text=((TextBox)DataGrid1.Items[6].Cells[1].FindControl("TextBox2")).Text;
    Response.Write("<script>alert('"+text+"')</script>");
    }
    text为什么是空呢?