ASP.NET/C# 动作方法参数映射及映射模型详解
ASP.NET/C# 动作方法参数映射及映射模型详解
动作方法的参数
1.获取表单的常规方法
我们以前在动作方法中获取 URL 和表单数据的方法,代码如下:
除了上面的方法外,以下介绍新的方法。
2.动作方法参数的映射
(1)参数映射的基本使用: 其实,在 ASP.NET MVC 框架中,给我们提供了非常好的获取参数的方法,那就是可以通过参数映射的形式直接获取参数值,而无需再像上面那样单独获取,只要我们提交的参数名称(比如文本框的name)和我们定义的动作方法参数一致基本就可以,下面我们先看一个例子:
(2)参数映射的好处: 通过上面可以看出,我们省去了参数获取的步骤,这样在参数较多的时候开发效率是非常明显的。
(3)动作方法参数映射来源,如下表所示:
(4)动作方法参数映射要求:
第一,参数名要和目标数据参数名一致(不区分大小写)。
第二,参数数据类型要和来源数据的目标数据类型一致
3.值类型参数映射问题
(1)值类型参数有时候会失败,我们来做一个测试:比如,我们要求用户输入用户名和密码后登录,但是用户只是输入了密码,没有输入用户名,那么提交后会有什么结果呢?
(2)原因分析:是因为 int 类型的参数,必须有数据才行,因为用户从视图中传递的数据是 null,而参数映射的时候是无法将 null 转换成 int 类型。所以,大家明白这个道理,我们只需要将参数 int 类型定义成可为空类型 int?即可。
提示:虽然我们定义了可为空类型,但是并不是说我们开发中以后可以随便的使用带?的可为空类型,比如实际开发中,我们肯定会有验证,也就是说用户登录 ID 是不会为 null 的,刚才我们只是这样一个测试,如果您在写项目时,确实前端不需要验证,也允许为空,而后台是值类型,这时候就用刚才我们给出的方法解决是最完美的。