数据传递的方式

  					数据传递的方式

开发工具与关键技术:Visual Studio 2015   通过参数拼接或Session传递数据

作者:廖 茂

撰写时间:2019年07月01日

进入ASP.NET.MVC的学习已经有很长的一段时间了,在做项目的时候,我们要实现一个功能往往需要用到各种各样的方法来实现,在这里,我们说一下实现数据传递的两种方法“参数拼接”和“session”。

我们先用参数拼接的方式来实现数据的传递,在这里以一个跨页面查询为例子,需要把上一个页面的查询条件传递到下一个页面进行查询,查询条件如下:
数据传递的方式_第1张图片

上面就是查询条件,由于是单程,所以没有返回日期这一查询条件,现在进入代码的编写,我们首先需要获取到“出发城市”、“到达城市”、“出发日期”这些输入框中的查询条件,也就是获取到输入框的值,如下:
在这里插入图片描述

分别通过三个输入框的ID来获取到输入框的值并且赋值给三个变量,获取到值之后要对获取到的值进行判断,如下:
数据传递的方式_第2张图片

判断三个值如果为undefined,那么就设置为空字符串,接下来还需要对获取到的值再进行一次判断,如下:
在这里插入图片描述

由于代码语句较长,所以进行了换行操作,从上面可以看到,判断获取到的三个值是否为空字符串和是否为null,如果不为空字符串和不为null,就进行页面跳转,跳转到下一个页面,可以看到,在页面跳转的路径的的后面拼接着存放查询条件的三个参数,传到控制器中,接下来就要到控制器中接收参数,如下:
数据传递的方式_第3张图片

在控制器中的需要接受参数的页面的方法里接收参数,然后通过ViewBag方法,把参数传显示查询结果页面中,从控制器中传过视图后也要在视图中接收参数,如下:
在这里插入图片描述

接收数据额语句编写好后,在控制台输出检验一下数据是否传递成功,结果如下:
在这里插入图片描述

上面就是控制台输出的结果,很明显,数据传递成功了,既然用参数拼接的方式传递数据成功了,接下来就用session来传递数据,以登陆后的数据显示为例,我们知道,绝大部分项目都有在登录后把用户的部分信息显示出来的要求,在这里就需要在登录页面把数据传递到其他页面,好比如首页,一般登录后都会跳转到首页,接下来我们来实现用户姓名的传递,先看一下登录页面,如下:
数据传递的方式_第4张图片

上面就是登陆需要填写的信息,在这里就统一设定用手机号码和密码来登录,我们如果要知道用户的姓名的话,就需要一些信息为依据查出用户的姓名,在这里就可以通过手机号码来进行查询,因为每个人的手机号码都是唯一的,所以首先需要获取到输入的手机号码,如下:
在这里插入图片描述

因为需要登录,所以从ID为MemberMessage的标签里面找到name为CellPhoneNumber和Password的输入框,并且获取到两个输入框的值赋值给两个变量,获取到值后,判断获取到的值是否为空字符串或者诶null,如果不为空字符串和不为null就用post方法把两个变量以键值对的方式提交到控制器,如下:
数据传递的方式_第5张图片

把参数传到控制器后,需要在控制器的方法中接收,如下:
在这里插入图片描述

接收到参数后,我们就查询出手机号码对应的用户,如下:
数据传递的方式_第6张图片

上面就是以手机号码为依据,查询出对应的用户信息并且赋值给一个变量,因为手机号码是唯一的,所以查出来的数据也就只有一条,查询出数据后,就把需要的信息从变量中提取出来,放到session中,通过session把当前页面的数据传递到需要的页面中,如下:
在这里插入图片描述

好了,在这边已经把用户的ID、姓氏和名字放到session中,那么现在到需要接受数据的页面中把数据从session中提取出来,如下:
数据传递的方式_第7张图片

在这里接受数据的是首页,分别声明三个变量接收session中的用户ID、姓氏和名字,因为需要把姓名显示出来,所以需要把姓氏和名字拼接,然后再传到视图中,如下:
在这里插入图片描述

加下老就到视图中接收数据,然后输出检验一下数据是否传递成功,如下:
在这里插入图片描述

很明显,用session来传递数据成功了。

以上就是用参数拼接和session这两种方法传递数据的例子。

你可能感兴趣的:(数据传递的方式)