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")

  • 相关阅读:
    webservice的简单介绍
    如何在page_load方法判断是服务器端控件引发的page_load方法
    android架构概述
    页面传递数组参数
    XML与DataTable/DataSet互转
    jquery调用asp.net 页面后台方法
    asp.net缓存机制
    jQuery操作radio,checkbox,select
    jquery选择器
    android开发环境的搭建过程
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/8108324.html
Copyright © 2011-2022 走看看