zoukankan      html  css  js  c++  java
  • ViewData,ViewBag,TempData

    public class HomeController : Controller
    {
            public ActionResult Home()
            {
                ViewData["VD"] = "view data";
                ViewBag.Name = "view bag";
                TempData["TD"] = "temp data";
               
                return View();
            }

           //以上三个在Home View 中可以直接访问

            
            [HttpPost]
            public ActionResult Home()
            {
                String vd = ViewData["VD"].ToString();
                String vb = ViewBag.Name;
                String td = TempData["TD"].ToString();
               
                return View();
            }

           //从Home View中提交返回到Home Action中,此时,ViewData["VD"]不能访问(不存在),抛异常;ViewBag.Name为null值,不抛异常;TempData["TD"]可以访问;

          //若再一次从Home View中提交返回到Home Action中,此时,TempData["TD"]不能访问(不存在),抛异常;
    }

    摘录:

    ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["Name"]

    ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.Name 

    ViewBag和ViewData只在当前的Action中有效,生命周期和 View 相同;

    TempData可以通过转向继续使用,因为它的值保存在Session中。但TempData只能经过一次传递,之后会被系统自动清除 

    ViewData和ViewBag 中的值可以互相访问,因为ViewBag的实现中包含了ViewData

  • 相关阅读:
    马克思主义哲学是否只是“抄袭”和断章取义了别人的思想
    马克思的思想说到底都是抄袭
    答郭沫若的《卖淫妇的饶舌》(节录)--马克思思想批判
    联系的普遍性
    辩证
    (实用篇)使用PHP生成PDF文档
    discuz!
    Access是什么?
    putty 与winscp 区别
    xshell 与 putty
  • 原文地址:https://www.cnblogs.com/notebook2011/p/2794478.html
Copyright © 2011-2022 走看看