我在转换它时向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;
}
答案 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.否则将值设置为从字符串转换。
如果您尝试此解决方案,其中一个必须解决您的问题。但尝试第一个解决方案,然后转到下一个解决方案。