• 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的生存期。

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    小谈抽象思维(思维篇)
    Linux工具XFTP、Xshell(centos配置java环境 工具篇 总结一)
  • 原文地址:https://www.cnblogs.com/robinblogs/p/3789526.html
Copyright © 2020-2023  润新知