以下是代码:
 int nowFileSeconds = 0;
        if (Program.getVideoSecondsByVid(nowVedioID).ToString() != null)
        {
            nowFileSeconds = int.Parse(Program.getVideoSecondsByVid(nowVedioID).ToString());
        }
其中Program.getVideoSecondsByVid(nowVedioID)是字符型,转换时老出现以下错误:输入字符串的格式不正确。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
行 78:     if (Program.getVideoSecondsByVid(nowVedioID).ToString()!=null)
行 79:     {
行 80:        nowFileSeconds = int.Parse(Program.getVideoSecondsByVid(nowVedioID).ToString()); 
行 81:     }
行 82:     
 源文件: d:\Site\v.jokemovie.cn.v5\movie\player_wmv.ascx.cs    行: 80 

解决方案 »

  1.   

       if (Program.getVideoSecondsByVid(nowVedioID).ToString()!=null) 
    行 79:     { 
    行 80:        nowFileSeconds = int.Parse(Program.getVideoSecondsByVid(nowVedioID).ToString());  
    行 81:     } 这之类的类型转换可能会发生错误。需要异常处理!
    次出很明显是非数字转到int引起的错误!
    你try下,跟踪下,就知道了。。
    要学会debug!
      

  2.   

    追踪啊
    先追nowVedioID
    再追Program.getVideoSecondsByVid(nowVedioID)
    肯定是这两步出错.
    别的就没有办法帮你了,这是你自己的代码,
      

  3.   

    用Int32.TryParse()函数,这样出错处理好办点
      

  4.   

    问题解决了将
     if (Program.getVideoSecondsByVid(nowVedioID).ToString()!=null)  
    改为
     if (Program.getVideoSecondsByVid(nowVedioID).ToString()!="") 
    就可以了.
    谢谢各位了.