初学者,运行代码的时候出现了这个问题,请各位先行者帮忙看一下,不胜感激
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误:行 41:             if (DT.Rows.Count > 0)
行 42:  {   
行 43:  int TransferID = Int32.Parse(DT.Rows[0][0].ToString());
行 44:  BindEmployeeData(TransferID);
行 45:  }
源文件: f:\pms\DesktopModules\TransferMng\TransferMng.aspx.cs    行: 43堆栈跟踪:[FormatException: 输入字符串的格式不正确。]
   System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +7472055
   System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +119
   System.Int32.Parse(String s) +23
   PMS.DesktopModules.EmployeeInfo.TransferMng.BindTransferGrid() in f:\pms\DesktopModules\TransferMng\TransferMng.aspx.cs:43
   PMS.DesktopModules.EmployeeInfo.TransferMng.Page_Load(Object sender, EventArgs e) in f:\pms\DesktopModules\TransferMng\TransferMng.aspx.cs:30
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +37
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +91
   System.Web.UI.Control.OnLoad(EventArgs e) +127
   System.Web.UI.Control.LoadRecursive() +92
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3365
版本信息: Microsoft .NET Framework 版本:2.0.50727.3634; ASP.NET 版本:2.0.50727.3634 

解决方案 »

  1.   

    断点看看DT.Rows[0][0].ToString()是否为可转化为数字的字符串
      

  2.   

    int TransferID = Int32.Parse(DT.Rows[0][0].ToString());跟踪DT.Rows[0][0].ToString()是什么值    看看DT是不是空的
      

  3.   

    DT.Rows[0][0].ToString()
    这个转为数字的格式不正确,可能不是个数字
      

  4.   

    int TransferID = Int32.Parse(DT.Rows[0][0].ToString());这里提示转换失败,那肯定是DT.Rows[0][0].ToString()这个值为null或不是数字,造成无法转换成intint TransferID = string.IsNullOrEmpty(DT.Rows[0][0].ToString())?0:Int32.Parse(DT.Rows[0][0].ToString());以上只能解决不报错而已,具体的还需要你自己处理
      

  5.   

    可能是你的DT.Rows[0][0].ToString() 单元格中的值无法转换为int类型
    看看你dt里面的值吧
    你可以在转换前加一些判读,非空啊
    或者是try掉,catch为0
    等等
      

  6.   

    http://my.csdn.net/my/album/detail/1215599
      

  7.   


    if(DT.Rows[0][0].ToString()==null)
    int TransferID = 0;
    else
    {
    try{
    int TransferID = Int32.Parse(DT.Rows[0][0].ToString());
    }catch()
    {int TransferID = 0;}}
      

  8.   

    DT.Rows[0][0].ToString()
    这个不是数字转换失败了你这图又没有用,只能看出table中有数据
      

  9.   

    搞定了马上结贴了谢谢你们每一个人,尤其是StarlightHan
    虽然你们说的我不是很明白
    但是还是在你们的启发下解决了这个问题
    我去解决下一个问题了