代码如下:
 
protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            //鼠标移动到每项时颜色交替效果            e.Row.Attributes.Add("onclick", "checkbox("+ Convert.ToString(e.Row.RowIndex+1) +","+ Convert.ToString(e.Row.Cells[2].Text) +")");
            //设置悬浮鼠标指针形状为"小手"   
            e.Row.Attributes["style"] = "Cursor:hand";
        }
}function checkbox(valu,zhuti)
 {
  alert(zhuti); 
   var chek=document.getElementById();
   var gvData = document.getElementById("<%=gvData.ClientID %>"); 
   if(gvData.rows[valu].cells[0].getElementsByTagName("INPUT")[0].checked)
   {
   // alert(gvData.rows[valu].cells[2].tostring());
  // alert(gvData.rows[valu].cells[3].parentElement.innerText);
   gvData.rows[valu].cells[0].getElementsByTagName("INPUT")[0].checked = false;
   }
   else
   {
   gvData.rows[valu].cells[0].getElementsByTagName("INPUT")[0].checked = true;
  
   }
 
 }
这样子一直出错,有值,但是他会说没定义

解决方案 »

  1.   

    valu是你传进来的。
    gvData.rows[valu].cells[0]始终有值吗?
      

  2.   

    提示错误的具体消息是?
    建议你这样子试一下:
    e.Row.Attributes.Add("onclick", "checkbox('"+ Convert.ToString(e.Row.RowIndex+1) +"','"+ Convert.ToString(e.Row.Cells[2].Text) +"')");就是每个参数处都加上一个分号、
      

  3.   

    也有可能是你的e.Row.Cells[2].Text的文字中有一些敏感字符
      

  4.   

    运行页面后,点击查看HTML源代码你再分析一下
      

  5.   

    try it like this:
    e.Row.Attributes.Add("onclick", "checkbox('"+ Convert.ToString(e.Row.RowIndex+1) +"','"+ Convert.ToString(e.Row.Cells[2].Text) +"')");
      

  6.   


    在 后台 写 JS 代码, 语法要注意:  e.Row.Attributes.Add("onclick", "checkbox("+ Convert.ToString(e.Row.RowIndex+1) +","+ Convert.ToString(e.Row.Cells[2].Text) +")");给字符串 加一个 '  e.Row.Attributes.Add("onclick", "checkbox('"+ Convert.ToString(e.Row.RowIndex+1) +"','"+ Convert.ToString(e.Row.Cells[2].Text) +"')");