开发工具与关键技术: VisualStudio 2015 mvc
作者:杨泽平
撰写时间:2019、5、20
在做mvc项目时,我们经常会需要新增数据,而新增又可以分为单表新增跟多表新增(这个指的是数据库表),除了这个,新增还可以分为单条数据的新增跟多条数据的新增,这也是我们经常用到的。
在接触到的项目里我们遇到比较多的是单条数据的新增,单条数据的新增比较简单,而多条数据的新增少接触自然复杂一点,但不管是怎样的新增,他们都要有一步操作,那就是传参,传参说难不难,说简单也不简单,单条数据的传参简单我就不说了,我们说一下一张数据库表新增多条数据里的传参跟接收参数问题 。
在我要新增的数据里,两条数据共用一张数据库表,两条数据所需要的数据库字段都是相同的,说到这有人可能会想到,相同的数据库字段,在视图传参怎么传,传了过去控制器又怎么接收,这也正是我所要说的问题。
首先,在视图里,我们先要获取到页面填写的新增数据,然后通过var声明一个变量danbao,将获取到的页面新增数据拼接起来,拼接的时候用分号隔开每个字段。
如下图所示:
拼接好后,将他们赋值给声明的变量danbao,然后通过post请求将参数传到控制器,如下图所示:
传到控制器后,因为是拼接好传过来的,所以需要在控制器分割字符在,首先要一个string类型的数组来接收传过来的参数,然后Split分割方法将他们分割,分割的依据是“;”这个分号,分割好之后,我们可以通过断点的方式查看分割后的值,
如下图所示:
到这里视图传过来的参数值,在控制器这边也接收到了,最后我们还需要把数组接收到的值一一对应的填到我们要新增的那张表对应字段里,因为字段一样,所以这里需要把这张表声明出两个参数分别填写两条数据,然后再保存到数据库就完成了。
填写值的格式如下图所示:
最后说一下,我们在同一张数据库表里新增两条数据,两条数据的数据库字段相同的情况下,在视图传参,一般传参方法不能把两条数据一起传过去,需要用拼接的方式传过去,同样,在控制器也一样,一张表里相同字段不能同时接收两次,要声明不同变量分别接收。