<Columns>
                <asp:BoundField />
                <asp:HyperLinkField DataTextField="fenxiangzhibiao_cn" HeaderText="分项指标" >
                </asp:HyperLinkField>
                 <asp:BoundField DataField="fenxiangzhibiao_cn" HeaderText="指标数">
                </asp:BoundField>
                <asp:TemplateField HeaderText="实际数">
                <ItemTemplate>
                <asp:TextBox ID="Tbshijishu" runat="server"  Width="100px"  ReadOnly="false"></asp:TextBox>
                <asp:Button ID="Button1" runat="server" Text="Button" CommandArgument='<%# Eval("fenxiangzhibiao_cn")+","+Eval("Tbshijishu的值??")  %>' />
                 </ItemTemplate>
                </asp:TemplateField>
                 </Columns>各位,我想点击对应行Button 的时候把填入Tbshijishu的值传到后台,CommandArgument=什么呢?

解决方案 »

  1.   

    GridViewRow drv=((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent));
    string aa=GridView的ID.Datakeys[drv.RowIndex].Value;
    Response.write(aa);
    你在GridView的的属性中把Datakeys设置成你要传的字段名 
      

  2.   

    我要传的参数是用户填入到模板列TextBox中的值,不是绑定的列哦,这样行吗
      

  3.   

      <asp:Button ID="Button1" runat="server" Text="Button" CommandArgument='<%# Eval("Tbshijishu的值??") %>' />后台
     protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                
                if (e.CommandName == "Btn")
                {
                    Response.Redirect("url.aspx?" + e.CommandArgument);
                }
            }
      

  4.   

    <asp:Button ID="Button1" runat="server" Text="Button" CommandArgument='<%# Eval("Tbshijishu的值??") %>' CommandName="Btn" />后台
     protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
      {
        
      if (e.CommandName == "Btn")
      {
      Response.Redirect("url.aspx?" + e.CommandArgument);
      }
      }
      

  5.   

    CommandArgument='<%#Eval(" ")%>'
    if (e.CommandName == "")
      {
      // e.CommandArgument.ToString();
    }或GridViewRow gvr = (sender as Button).NamingContainer as GridViewRow;   
    TextBox txt=gvr.FindControl("txt") as TextBox;
    多值CommandArgument= ' <%#   Eval( "Field1 ")   +   ", "   +   Eval( "Field2 ")   %> '