• MVC Controller向View传递数据


    ASP.NET MVC中,Controller向View传递数据的方式有一下6种

    • ViewData
    • ViewBag
    • PartialView
    • TempData
    • ViewModel
    • Tuple

    1、ViewData和ViewBag

      ViewData使用键值对Key/Value存储对象,ViewBag通过动态类型dynamic存放对象

      ViewData在View中使用的时候要转换为相应类型,而ViewBag可以作为属性直接使用(但没有智能提示)

      ViewData的存取效率比ViewBag快

      ViewData["key1"] = "value1";
      ViewData["key2"] = 15;

      ViewBag.Key1 = "value1";
      ViewBag.Key2 = 15;

    2、Tuple和ViewModel

      Tuple就是ViewModel,用来存放多个元素的集合(做多可以存放7个元素),然后通过Model传递到View,在View中设置强类型视图,就可以通过@Model来访问

      var tuple = new Tuple<string, string>("value1", "value2");
      return View(tuple);

      在View页面中添加model的定义
      @model Tuple<string, string>

    3、PartialView   

      通过PartialView包装一些重用代码,可以在需要的时候直接调用,也可以用于异步请求时作为html返回

      可以在View中直接调用  @Html.RenderPartial("_PartialView");

      也可以用于异步请求是返回部分html代码

    4、TempData  

      TempData和ViewData一样,也是用键值对Key/Value存储,但数据保存在Session,每一次读取后会删除数据,支持跨Action访问

      如果读取后不想删除,可以调用TempData.Peek("Key")
      如果读取后保存一次,可以调用TempData.Keep("Key")

     

     

      

  • 相关阅读:
    Linux命令之vi
    CentOS7 查看IP
    Linux下mysql的命令
    @RequestMapping注解的参数说明
    springboot处理不同域的前端请求
    vue-cli4 取消关闭eslint 校验代码
    springmvc请求乱码
    访问静态资源报404错误
    eclipse创建Maven项目时pom.xml报错
    spring中的xml配置文件里报错
  • 原文地址:https://www.cnblogs.com/bomo/p/3536749.html
Copyright © 2020-2023  润新知