zoukankan      html  css  js  c++  java
  • mvc中的几个数据传递

    1、ViewData对象

        ViewBagData是一种字典集合数据同时属于视图基类和控制器基类的属性。

        实例:

        //控制器

    public class HomeController:Controller
    {
            public ActionResult Index()
            {
                 ViewData["data"]="Hello asp.net";
                 return View();
            }
    }       

        视图:

    <h1><%=ViewData["data"]%></h1>

    2、动态对象ViewBag

     ViewBag是dynamic类型的对象,同事属于视图基类和控制器基类的属性。用法如下:

       //控制器代码

    public class HomeController:Controller
    {
            public ActionResult Index()
            {
                 ViewBag.data="Hello asp.net";
                 return View();
            }
    }            

      <!--视图-->

    <h1><%=ViewBag.data%></h1>

    本质上,ViewBag是对ViewData数据的包装,,也就是使用ViewData保存数据,可以使用ViewBag读取,使用ViewBag保存的数据,也可以使用ViewData读取,例如

    ViewData["data"]的数据,使用ViewBag.data也可以访问。

    注意:同一个项目中,一般ViewData和ViewBag只是用一种,不要代码中同同时出现ViewData和ViewBag.

    3、跨请求数据传递——TempData   

        TempData也属于字典类型在编码上于ViewData类似,但是他是完全独立的对对象,它保存的数据域Viewdata互不干扰

      用法如下:

         //控制器

    public class HomeController:Controller
    {
            public ActionResult Index()
            {
                 TempData["data"]="Hello asp.net";
                 return View();
            }
    }        

       //视图

    <h1><%=TempData["data"]%></h1>

       在开发中TempData主要是跨请求传递数据

    public class HomeController:Controller
    {
            public ActionResult Index()
            {
                 TempData["data"]="来自Index()的数据";
                 Response.Redirect("~/Home/Detail");
                 return View();
            }
            public ActionResult  Detail()
           {
                 return View();
           }
    }     

         //Detail.aspx视图

    <h1><%=TempData["data"]%></h1>

        在asp.net mvc系统中,TempData的保存机制实际上是可扩展的,它默认的保存机制是session。虽然TempData的保存机制是session,对于前一次的请求使用Temp

        使用的Temp保存的数据,但是如何Temp中的数据被使用过(从视图中输出)接下来的请求将获取不到数据,再一次请求中,如何TempData数据被使用过,就会被清除

        如果没有被使用过,那么他保存的时间是Session的生存期。

  • 相关阅读:
    rman备份与异机恢复
    定时导出用户数据(expdp,impdp)
    简单配置oracle11g
    oracleLinux7上安装oracle11g r2(脚本简单配置环境)
    快速排序
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    Windows服务调试小结(附Demo)
  • 原文地址:https://www.cnblogs.com/robinblogs/p/3789526.html
Copyright © 2011-2022 走看看