context.Request.Form["Txt_IntegralMin"]不仅仅是字符串对象,还可能是null。
例如"trest"不能转换为int,当然出错!
建议使用IntTryParse
自己封装了一个IntTryParse方法:
publicstaticint IntTryParse(object srcObj)
{
int defaultValue;
if (srcObj ==null) { return0; }
Int32.TryParse(srcObj.ToString(), out defaultValue);
return defaultValue;
}
publicstaticint IntTryParse(object srcObj, int NullValue)
{
int defaultValue;
////if (srcObj == null) { return 0; }
if (!Int32.TryParse(srcObj.ToString(), out defaultValue)) { Int32.TryParse(NullValue.ToString(), out defaultValue); }
return defaultValue;
}
{
int defaultValue;
if (srcObj ==null) { return0; }
Int32.TryParse(srcObj.ToString(), out defaultValue);
return defaultValue;
}
publicstaticint IntTryParse(object srcObj, int NullValue)
{
int defaultValue;
////if (srcObj == null) { return 0; }
if (!Int32.TryParse(srcObj.ToString(), out defaultValue)) { Int32.TryParse(NullValue.ToString(), out defaultValue); }
return defaultValue;
}
int temp=IntTryParse(context.Request.Form["Txt_IntegralMin"],-1);总结:前面加了out说明它是作为返回的,也就是说把a试着转化为int值,如果成功就放在b里面返回。
//context.Request.Form["Txt_IntegralMin"]为null或不能转换为数字时,设置temp为-1,该语句不会报错