<asp:CheckBox runat="server" Checked="false" Width="20px" Height="20px" name='<%# Eval("id") %>'/>
我想获取checkbox中name的值,该如何获取! 谢谢  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="100%"  
  Width="93%">
  <Columns>
  <asp:BoundField DataField="company" HeaderText="企业名称" ReadOnly="True"  
  SortExpression="company" />
  <asp:BoundField DataField="location" HeaderText="地点" ReadOnly="True"  
  SortExpression="location" />
  <asp:BoundField DataField="price" HeaderText="价格" ReadOnly="True"  
  SortExpression="price" />
  <asp:TemplateField>
  <HeaderTemplate>
  图片 &nbsp;&nbsp;&nbsp;&nbsp;
  勾选
  </HeaderTemplate>
  <ItemTemplate>
    
  <asp:Image runat="server" id="img" Height="20px" ImageUrl='<%# Eval("image") %>'  
  Width="20px"/>
    
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <asp:CheckBox runat="server" Checked="false" Width="20px" Height="20px" name='<%# Eval("id") %>'/>
  </ItemTemplate>
  </asp:TemplateField>
  </Columns>
  </asp:GridView>

解决方案 »

  1.   

    (CheckBox (GridView1.Rows[0].cell[0].contorl[0])).name
      

  2.   

    在哪里获取?如果你得到了GridViewRow,比如是row变量引用的,那么可以写:  row.Attribute["name"]来得到或者设置它。
      

  3.   

    哦sorry,上面没有获取CheckBox。问题是你也没有给它设置ID属性啊?!假设是chk,那么应该写:((CheckBox)row.FindControl("chk")).Attribute["name"]甚至也可以简单含糊一点写:row.FindControl("chk").Attribute["name"]
      

  4.   

    唉,我还是少写了一个字母,呵呵:((CheckBox)row.FindControl("chk")).Attributes["name"]
      

  5.   

    function GetName(obj)
        {
            var name= $("#"+obj.id).attr("name");
            alert(name);
        }
    <asp:CheckBox runat="server" Checked="false" Width="20px" Height="20px" name='<%# Eval("id") %>' onclick="GetName(this)"/>
      

  6.   

        
     <script type="text/javascript">
               function selectAll() {
                   // 获得用户页面中的所有的 输入功能的控件getElementById("ChkSelect").
                   var checkbox = document.getElementsByTagName("input");
                   if (checkbox[0].checked == true) {
                       for (var i = 0; i < checkbox.length; i++)
                           checkbox[i].checked = false;
                   }
                   else {
                       for (var i = 0; i < checkbox.length; i++)
                           checkbox[i].checked = true;
                   }
               }    </script>                   
                <asp:TemplateField>         <HeaderTemplate><input id="Checkbox1" type="checkbox" onclick='selectAll()' /></HeaderTemplate>
                                       <ItemTemplate>
                              <input type="checkbox" id="CheckBox1" runat="server" value='<%#Eval("Version")%>'  />
                              </ItemTemplate>
                </asp:TemplateField>
     protected void Button1_Click(object sender, EventArgs e)
        {
            string s = "";
            for (int i = 0; i < this.GridView1.Rows.Count; i++)
            {
                //客户端
                HtmlInputCheckBox chb = (HtmlInputCheckBox)this.GridView1.Rows[i].FindControl("CheckBox1");
                if (chb.Checked == true)
                {
                    s = s + chb.Value;
                }
                else
                {
                    Response.Write("<script>alert('check one?');</script>");
                }
            }
            Response.Write(s);
        }