将Nullable Int传递给mvc中的Request.Form []

时间:2014-09-15 10:15:00

标签: asp.net-mvc nullable request.form

我已在View中提交表单,其中价格字段可以为空。 我使用Request.Form[]获取了值:

int? min = int.Parse(Request.Form["min"])

但是当字段为null时我得到Exception,因为无法在int中解析null。

还有别的尝试吗?

3 个答案:

答案 0 :(得分:1)

你必须首先将它转换为整数,然后我会检查它是否必须为NULL(因为我认为你的程序依赖于它)。

    int i = 0;
    int.TryParse(Convert.ToString(Request.Form["min"]), out i); // Convert textfield value
    int? min = (i > 0 ? (int?)i : null); // Determine whether we should take the original value or NULL

答案 1 :(得分:0)

如图所示使用int.TryParse

int num1=0;
if(int.TryParse(Convert.ToString(Request.Form["min"]), out num1))
{....}
else{....}

在上面的代码num1中会有所需的输出,如果转换失败,则num1的值为0,否则Request.Form["min"]的值将在num1中}。

答案 2 :(得分:0)

在解析

之前测试值是否为null
int? min = null;
if (Request.Form["min"] != null)
{
  min = int.Parse(Request.Form["min"])
}