跨控制器获取到session值并赋值到input标签中

时间:2024-04-05 19:24:25

开发工具与关键技术:VS, ASP.NET MVC
作者:谭威
撰写时间:2019年5月25日
我们要拿到session值,首先当然得设置session值,设置session值你可以在任意一个方法中写,到前提是,session必须有值(这里就不详讲了,有兴趣的朋友可以看我下个发的博客,写的是获取到登陆账号和密码,连表查询到一些数值,将这些数值设置为session值,回填到页面上)。
跨控制器获取到session值并赋值到input标签中
在上面的图中我们可以看到我是在MainController.cs(主控制器,顶部黄色)中写的,我们可以很清楚的看到我在session中设置五个值(至于后面为什么只获取到一个session值,那是因为我主视图需要返回这五个session值,而跨控制器的页面值需要一个,所以我只需要拿到对应的session值就好了)。
跨控制器获取到session值并赋值到input标签中
在上面的一副图中,我们首先看到绿色部分的GET,第一个数值SafetyManagement是区域名字,第二数值SafetyExamine是控制器名字,这样就可以明显看到是不同的控制器,然后你需要在你要回填session值的页面直接获取session值就好了(你没有看错,就是直接获取到session值),因为session值是全局变量(你可以这么理解),所以你可以直接在另外的控制器中直接拿到这个session值。
跨控制器获取到session值并赋值到input标签中
拿到session值后回填到input标签中有两种方法,上图是第一种,你可以直接在html代码中的input中直接写value,前面的disabled是禁用的意思(因为回填后不想用户随意去修改,就将这个输入框给禁用掉)。
跨控制器获取到session值并赋值到input标签中
上图是第二种方法,给这input设置一个id,在js代码中使用上图的方法一样可以达成回填的效果。