zoukankan      html  css  js  c++  java
  • 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")

  • 相关阅读:
    5.JAVA之GUI编程窗体事件
    4.JAVA之GUI编程事件监听机制
    3.JAVA之GUI编程Frame窗口
    2.JAVA之GUI编程布局
    1.JAVA之GUI编程概述
    微软职位内部推荐-Android Developer
    微软职位内部推荐-Senior SDE for Big Data
    微软职位内部推荐-SDE2 (Windows driver)
    微软职位内部推荐-Senior SDE for Windows App Experience
    微软职位内部推荐-Senior SDE for Win Shell Exp
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/8108324.html
Copyright © 2011-2022 走看看