这比我想象的要复杂得多!检查字符串是空还是空是很容易的,但这是如何用int完成的?也许同样容易,但我被卡住了!
我将一个来自html表单输入字段的int传递给控制器中的action方法,但是尽管我尝试了所有组合,但没有任何效果!似乎!
不可能与int一起使用。首先,int可以为null吗?
我想检查用户是否在未输入号码的情况下点击了提交按钮。我还想检查它是否是一个int而不是一个字符串?一些帮助表示赞赏!
答案 0 :(得分:0)
int
不能为空(它始终是一个数字),例如,您可以输出未设置的int
,例如
Console.WriteLine(default(int));
你可以做的是制作一个可以为空的int
。 int?
(?
使属性可以为空)
通常做的是拥有一个从未使用过的值,就像你正在处理数组一样,然后-1是一个很好的值,可用作" skip-value"那么你只需要测试那个特殊值。
在控制器上,如果未设置值,则不传递该值,并且只在int?
上默认将其构造为null。
public string Method(string value, int? number = null)
{
if(number.HasValue)
{
//DoWork with int
}
else
{
//Do work without int
}
return "result";
}
答案 1 :(得分:0)
如果未分配任何内容,则Int具有默认值。要实现您的尝试,请使用可为空的整数类型。 Linq to Objects
就像int?
一样,但它可以有一个空值,所以如果你没有收到任何东西,一个简单的int
就可以了。