C# System.FormatException未由用户代码处理

C# System.FormatException未由用户代码处理,c#,exception,formatexception,C#,Exception,Formatexception,转换池ID以显示错误时,我正在hdnfield中发送池ID。poolid是int32datatype if (ddlStaticPoolName.Visible) { objUserEntity.POOLNAME = Convert.ToString(ddlStaticPoolName.SelectedItem.Text); objUserEntity.POOlID = Convert.ToInt32(ddlStaticPoolName.Selected

转换池ID以显示错误时,我正在hdnfield中发送池ID。poolid是
int32
datatype

 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;
    }
如果字符串包含数字字符但不是整数(例如:双精度、十进制)

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

如果字符串包含非数字字符。那你应该用特里帕司

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


如果你尝试这个解决方案,其中一个一定能解决你的问题。但是,请尝试第一种解决方案,然后转到下一种解决方案。

能否显示要转换为int32的string
ddlStaticPoolName.SelectedValue
的示例?哪些行在if或else if中出现错误,请指出它是SelectedValue empty string?将空字符串转换为
Int32
失败检查此:
Convert.ToInt32(“”
感谢M.kazem Akhgary的帮助第二个解决方案对我很有帮助。欢迎您。如果回答了您的问题,您可以接受此答案。
objUserEntity.POOlID = Convert.ToInt32(Convert.ToDouble(ddlStaticPoolName.SelectedValue));
  int num;
  Int32.TryParse(ddlStaticPoolName.SelectedValue, out num);
  objUserEntity.POOlID = num;