博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC Controller向View传递数据
阅读量:7216 次
发布时间:2019-06-29

本文共 913 字,大约阅读时间需要 3 分钟。

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

 

 

  

 

 

 

转载地址:http://lluym.baihongyu.com/

你可能感兴趣的文章
三级管的原理
查看>>
Java基础—ClassLoader的理解
查看>>
Android App监听软键盘按键的三种方式(转)
查看>>
2、Android应用程序基本特性
查看>>
Android开发之Buidler模式初探结合AlertDialog.Builder解说
查看>>
bash shell命令(2)
查看>>
html中#include file的使用方法
查看>>
eclipse: Program "g++" not found in PATH
查看>>
Python基础(11)--面向对象1
查看>>
银行家算法
查看>>
Spring 的@Scheduled注解实现定时任务运行和调度
查看>>
Oracle笔记 四、增删改、事务
查看>>
PreTranslateMessage作用和用法
查看>>
微信支付开发教程
查看>>
一款免费好用的正则表达式工具:Regex Match Tracer
查看>>
jquery.min.map 404 (Not Found)出错的原因及解决办法
查看>>
关于浮点数的json解析
查看>>
十折交叉验证10-fold cross validation, 数据集划分 训练集 验证集 测试集
查看>>
python-切片实例
查看>>
Android8.0运行时权限策略变化和适配方案
查看>>