If the MVC Framework cannot find a value for a reference type parameter (such as a string or object), the action
method will still be called, but using a null value for that parameter. If a value cannot be found for a value type parameter (such
as int or double), then an exception will be thrown, and the action method will not be called. Here is another way to think
about it:
Value-type parameters are compulsory. To make them optional, either specify a default value (see the next section) or
change the parameter type to a nullable type (such as int? or DateTime?), so the MVC Framework can pass
null if no value is available.
值类型可以指定默认值,或指定值类型可以为null。
public ActionResoult Index(int ? Age,string Name)
or
public ActionResoult Index(int Age = 18 , string Name = "jack")
应验证数据是否为null。
如果值无法转换为指定类型,ModelState将置为false。
Reference-type parameters are optional. To make them compulsory (to ensure that a non-null value is passed), add
some code to the top of the action method to reject null values. For example, if the value equals null, throw an
ArgumentNullException.
引用类型应验证数据是否为null。