zoukankan      html  css  js  c++  java
  • 控制器和视图数据传递小结

    ViewData:适合传递单个数据,需要类型转换

    ViewBag:适合传递单个数据,不需要类型转换

    TempData:主要用来跨多个动作方法传递数据

    View()+Model:适合传递模型数据,不需要类型转换

    ----------------------------------

    一、ViewData:

    1. ViewData是一种字典集合数据,是“视图基类”和“控制器基类”的属性
    2. 常见用法是在控制器中写入数据,在视图中读取数据
    3. ViewData的Value可以存放任意数据类型的数据,因此使用时需要强制类型转换。

    二、ViewBag:

    1. 理解:ViewBag是dynimic类型的对象,同样也是“视图基类”和“控制器基类”的属性
    2. 好处:使用更灵活方便
    3. 特点:ViewBag其实是对ViewData数据的包装,使用ViewData保存的数据可使用ViewBag读取,反之亦然。
    4. 应用:实际开发中最好选择其中的一种使用,建议使用ViewBag

    三、TempData:

    1. 理解:TempData是一种字典对象,也能用于从“控制器到视图”的数据传递,和ViewData类似
    2. 特性:TempData还能实现“不同请求之间”的数据传递
    3. TempData数据保存机制是Session,但又不完全同Session

      情况1:TempData保存数据后,如果被使用,就会被清除,因此后面的请求将不能再次使用

      情况2:TempData保存数据后,如果没有被使用,则它保存的时间是Session的生存期

  • 相关阅读:
    C#数据类型
    面试常备题素数的判断
    Eclipse输入命令行参数
    Socket编程第一步PC上服务器回显客户端发送的字符串
    C# 格式化输出
    截止至2004年8月1日全球CCIE人数统计
    什么是3G?
    DoS 拒绝服务攻击专题
    我的Blog音乐版~~
    国庆啊~~累得我好苦啊~~~
  • 原文地址:https://www.cnblogs.com/atlj/p/8214219.html
Copyright © 2011-2022 走看看