下面的代码有些问题,我调试了好久都没改对,请高手帮我看看。
  DropDownListPhoto.DataSource = imagemanage.GetAllPhoto("tb_Image").Tables[0].DefaultView;
  DropDownListPhoto.DataTextField = "PhotoID";
  DropDownListPhoto.DataBind();
  imagemanage.PhotoID =Convert.ToInt32(DropDownListPhoto.SelectedValue);
  imgPhoto.ImageUrl =imagemanage.FindPhotoByID(imagemanage,"tb_Image").Tables[0].Rows[0][1].ToString();
  
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。
for (int i = 0; i < usermanage.GetAllUser("tb_User").Tables[0].Rows.Count; i ++)
     { 
gvUserInfo.Rows[i].Cells[2].Text=Convert.ToDateTime(usermanage.GetAllUser("tb_User").Tables[0].Rows[i][4].ToString()).ToLongDateString();
      }
  
  报错:该字符串未被识别为有效的 DateTime。 
请大虾帮忙

解决方案 »

  1.   

    单步跟踪
    usermanage.GetAllUser("tb_User").Tables[0].Rows[i][4].ToString()值
      

  2.   

    应该是
    usermanage.GetAllUser("tb_User").Tables[0].Rows[i][4].ToString()
    不能转为DateTime
    调试,看看值是什么
      

  3.   

    如果格式不对,试试用DateTime.TryParseExact 进行转换
      

  4.   

    Convert.ToDateTime(usermanage.GetAllUser("tb_User").Tables[0].Rows[i][4].ToString()).ToLongDateString();
      这个转换有问题,建议你看看ToLongDateString()后的数据格式
      

  5.   

    在你转化前判断下  if(usermanage.GetAllUser("tb_User").Tables[0].Rows[i][4]!=null)
    {gvUserInfo.Rows[i].Cells[2].Text=Convert.ToDateTime(usermanage.GetAllUser("tb_User").Tables[0].Rows[i][4].ToString()).ToLongDateString();}
    楼主试试,还会不会报错·~~~如果不报错就说明你的格式有问题的~~再监视下·~看看它usermanage.GetAllUser("tb_User").Tables[0].Rows[i][4]为多少·~~