用户代码未处理System.FormatException

时间:2015-07-04 06:02:26

标签: c# exception formatexception

我在转换它时向htdfield发送我的poolid以显示错误。 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;
    }

1 个答案:

答案 0 :(得分:0)

  

如果字符串包含数字字符但不是整数(例如:double,decimal)。

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

如果字符串包含double Number,则不能直接转换为Int。如果这不能解决您的问题,您必须举例ddlStaticPoolName.SelectedValue

  

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

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

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

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