异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
行 200:            //int oneid = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString());
行 201:
行 202:            int oneid = int.Parse(e.Item.Cells[0].Text);
行 203:            a = MyDeleteMethod(oneid);
行 204:            DataGrid1.EditItemIndex = -1;
 
           int oneid = int.Parse(e.Item.Cells[0].Text);
// int oneid = Convert.ToInt32(e.Item.Cells[0].Text);
上面两句,我用那句都是,格式不对。请朋友指点一下。谢谢

解决方案 »

  1.   

    int oneid = Convert.ToInt32(e.Item.Cells[0].Text.ToString());试一下。
      

  2.   

    int oneid = Convert.ToInt32(e.Item.Cells[0].Text.ToString());
      

  3.   

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
    行 201:
    行 202://            int oneid = int.Parse(e.Item.Cells[0].Text);
    行 203: int oneid = Convert.ToInt32(e.Item.Cells[0].Text.ToString());
    行 204:            a = MyDeleteMethod(oneid);
    行 205:            DataGrid1.EditItemIndex = -1;
     
    ================================
    异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
    行 200:            //int oneid = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString());
    行 201:
    行 202:            int oneid = Int32.Parse(e.Item.Cells[0].Text);
    行 203:// int oneid = Convert.ToInt32(e.Item.Cells[0].Text.ToString());
    行 204:            a = MyDeleteMethod(oneid);
     
    ========================================
    编译器错误信息: CS0246: 找不到类型或命名空间名称“Int”(是否缺少 using 指令或程序集引用?)源错误: 行 200:            //int oneid = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString());
    行 201:
    行 202:            int oneid = Int.Parse(e.Item.Cells[0].Text.ToString());
    行 203:// int oneid = Convert.ToInt32(e.Item.Cells[0].Text.ToString());
    行 204:            a = MyDeleteMethod(oneid);
     
    =============================
    编译器错误信息: CS0246: 找不到类型或命名空间名称“Int”(是否缺少 using 指令或程序集引用?)源错误: 行 200:            //int oneid = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString());
    行 201:
    行 202:            int oneid = Int.Parse(e.Item.Cells[0].Text);
    行 203:// int oneid = Convert.ToInt32(e.Item.Cells[0].Text.ToString());
    行 204:            a = MyDeleteMethod(oneid);
     
    =================================
    还是没成
      

  4.   

    跟踪一下e.Item.Cells[0].Text.ToString()的值,要确保里面有值并且是数字
      

  5.   

    跟踪一下e.Item.Cells[0].Text.ToString()的值看看 
    要是是abc怎么能转????
      

  6.   

    对呀,如果是字符abc怎么转?确保里面的字符串由0~9数字组成
      

  7.   

    利用函数Convert.ToInt32()试试
      

  8.   

    Int32.Parse
    Convert.ToInt32()
      

  9.   

    要是数字,上面的任何一个方法都行。要不是。那肯定不行。
    异常详细信息: System.FormatException: 输入字符串的格式不正确。
    就是说你要转的字符串不是由数字组成的。
    你检查一下你要转换的字符串是什么?
      

  10.   

    那怎么跟踪它呢?
    msg.Alert(e.Item.Cells[0].Text,Page);
    我想用这个,可是 msg.Alert 在那个类中,我不知道,
    所以找不到类型或命名空间名称“msg”(是否缺少 using 指令或程序集引用?)
    就这样了。
      

  11.   

    Response.Write("<script>alert('"+e.Item.Cells[0].Text+"')</script>");
    看看是什么东东
      

  12.   

    你要删除某一行数据只要取datakey就可以,
      

  13.   

    你的DataGrid单元格里是否有值?如果不能保证有值的话,就有可能出现这种错误。你可以把空值都设置为零。或者你用try{}catch{}来捕获一下错误,如果不能改为整型的,就给它报错。
      

  14.   

    编译器错误信息: CS1010: 常数中有换行符源错误: 行 199:            //int ProductID =(int)DataGrid1.DataKeys[(int)e.Item.ItemIndex];
    行 200:            //int oneid = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString());
    行 201:Response.Write("<script>alert('"+e.Item.Cells[0].Text+"')</script>");
    行 202://            int oneid = Int.Parse(e.Item.Cells[0].Text);
    行 203:// int oneid = Convert.ToInt32(e.Item.Cells[0].Text.ToString());
     
    ==============================
      

  15.   

    对了,我取的是,access文件的“自动编号”的值。