DataGrid中有一个按钮列,
类型是LinkButton,
命令名是select,
文本字段是aaa,
文本就是字段读出数据库中的值,也就是aaa连接的值,
我要把文本作为参数传递,怎么取到它的值?
连接列有么有id号?

解决方案 »

  1.   

    TextBox t_id = e.Item.FindControl["TextBox的id"];
    string s_id = t_id.Text;
      

  2.   

    参考一下:
    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if(e.CommandName == "select")
    {
                 TextBox t_id = e.Item.FindControl["textbox1"];
                 string s_id = t_id.Text;
                 Response.Write("<script>window.open(test.aspx?id='" + s_id + "','','width=500,height=300')</script>");
    }
    }
      

  3.   

    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if(e.CommandName == "select")
    {
                 LinkButton l_id = e.Item.FindControl["LinkButton1"];
                 string s_id = l_id.Text;
                 Response.Write("<script>window.open(test.aspx?id='" + s_id + "','','width=500,height=300')</script>");
    }
    }
      

  4.   

    可是DataGrid自带的按钮列,没有ID啊
      

  5.   

    那你就用模板列呗,类似
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:LinkButton runat="server" Text="按钮" CommandName="test"
               id="LinkButton1"></asp:LinkButton>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  6.   

    或者如果你用自带的按钮列,试下这样可以不
    if(e.CommandName == "select")
    {
                 LinkButton l_id = e.Item.Cells[按钮列的列数].Controls[0];
                 string s_id = l_id.Text;
                 Response.Write("<script>window.open(test.aspx?id='" + s_id + "','','width=500,height=300')</script>");
    }