专栏首页wfaceboss控制器到视图的传值方式

控制器到视图的传值方式

一。从控制器到视图的传值方式

(1)Viewdata

C:Viewdata["key"]="viewdata"//控制器中赋值        V:Viewdata["key"]//视图中取值

(2)Viewbag

C:Viewbag.key="viewbag"//控制器中赋值   V:viewbag.key//视图中取值

(3)TempData        TempData实际上保存在Session中,控制器每次执行请求时都会从Session中获取TempData数据并删除该Session。TempData数据只能在控制器中传递一次,其中的每个元素也只能被访问一次,访问之后会被自动删除。

C:Tempdata["key"]="tempdata"//控制器中赋值  V:Tempdata["key"]//视图中取值

(4)Model :必须要有一个对象的实体类

ViewData.Model=查询出的对象 V:通过强类型页面  形式为:@model   从控制器中传来的具体类型(单个对象或者集合)

viewdata与viewbag区别:

(1)对于普通类型 传值方式一样

(2)对于强类型(对象)viewdata需要强制转换     

    第一种方式: 某对象 s=(命名空间+某对象)(viewdata["对象变量"])   

    第二种方式:  某对象 s=  viewdata["对象变量"] as  命名空间+某对象)   

Viewdata与Tempdata的区别:

(1)viewdata 传值时不能跨方法,否则值会丢失,只能是在本方法到本视图 , ViewData只能在一个Action方法中进行设置,在相关的视图页面读取,只对当前视图有效。

 (2)tempdata 可以跨方法取值不会丢失,TempData应该可以在一个Action中设置,多个页面读取。但是,实际上TempData中的元素被访问一次以后就会被删除。

强类型传值:通过对象传值(Model):必须要有一个对象的实体类

C中:返回一个对象(变量),return View(对象变量p);//p可能是单个对象也有可能是一个集合PL

V中:需要一个接受从C中传来的,与之对应的对象变量(一般为model)【可能是单个对象也有可能是集合】

例如:对于单个对象p:@model  mvc传值.Models.Student   此时model是 Student类型的一个对象  使用model就可以访问Student类

    是对于传过来的是一集合PL:   @model  List<mvc传值.Models.Student>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MVC原理图解

    wfaceboss
  • 集合在开发中实践中的应用

    (1)根据用户需求处理各种数据,作为开发者应该将各种数据分类成各种对象,在程序中处理对象

    wfaceboss
  • ADO.Net学习总结

    Connection对象 Command对象 DataReader对象 DataAdapter对象 DataSet对象 DataTable对象 DataRow对...

    wfaceboss
  • 基于用户投票的排名算法(二):Reddit

    (不好意思,这个系列中断了近两周,我会尽快在这几天,把后面几篇写完。) 上一次,我介绍了Hacker News的排名算法。它的特点是用户只能投赞成票,但是很多网...

    wangxl
  • 揭秘2018年科技创新趋势变革!

    新技术的真正价值实现不在于替代,而是整合到现有行业和技术解决方案中,从而提高整体的生产效率。 过去的十年,人类的科技创新完成了一个完整的进化周期。这个为期十年的...

    用户1310347
  • 搭建谷歌浏览器无头模式抓取页面服务,laravel->php->python->docker

    公司管理系统需要获取企业微信页面的配置参数如企业名、logo、人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程

    猿哥
  • 实践-腾讯新闻图文详情实现

    進无尽
  • 腾讯和亚朵打造的“智慧酒店”,每一个场景都像科幻片 | 创新案例

    ? 打开电梯,刷脸就轻松进了家门; 说一声打开电视, 精彩纷呈的节目就呈现在眼前; 随手点开手机遥控,就可以调节 室内温度,灯光亮度,水温热度。 不想做饭, ...

    腾讯文旅
  • Java 反射工具类 ReflectionUtil

    一个会写诗的程序员
  • SDS会走上传统存储的老路么?

    正因为如此,软件定义存储被认为是解决传统存储问题的一副良剂。软件定义存储摆脱了专有硬件的束缚,以通用硬件为基础,以软件的方式让存储资源成为一个不受物理系统限制的...

    大数据在线

扫码关注云+社区

领取腾讯云代金券