用户代码未处理System.FormatException

本文关键字:FormatException System 未处理 代码 用户 | 更新日期: 2023-09-27 18:00:57

当我转换池ID以显示错误时,我会在hdnfield中发送池ID。poolid是int32数据类型

 if (ddlStaticPoolName.Visible)
    {
        objUserEntity.POOLNAME = Convert.ToString(ddlStaticPoolName.SelectedItem.Text);
        objUserEntity.POOlID = Convert.ToInt32(ddlStaticPoolName.SelectedValue);
    }
    else if (lblDynamicPoolName.Visible)
    {
        objUserEntity.POOLNAME = Convert.ToString(lblDynamicPoolName.Text);
       objUserEntity.POOlID =Convert.ToInt32(hdnDynamicPoolID.Value);
    }
    else
    {
        objUserEntity.POOLNAME = "";
        objUserEntity.POOlID = 0;
    }

用户代码未处理System.FormatException

如果字符串包含数字字符,但不是整数(例如:双精度、小数(。

objUserEntity.POOlID = Convert.ToInt32(Convert.ToDouble(ddlStaticPoolName.SelectedValue));

如果字符串包含双数字,则不能直接转换为Int。如果这不能解决您的问题,则必须给出ddlStaticPoolName.SelectedValue的示例。

如果字符串包含非数字字符。然后你应该使用TryParse。

  int num;
  Int32.TryParse(ddlStaticPoolName.SelectedValue, out num);
  objUserEntity.POOlID = num;

如果字符串包含无效数字。TryParse将把num的值设置为0。否则为从字符串转换而来的值。

如果你尝试这些解决方案,其中一个必须解决你的问题。但先尝试第一个解决方案,然后转到下一个解决方案。