博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC之ViewData.Model
阅读量:4947 次
发布时间:2019-06-11

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

  在MVC中前台Razor视图呈现数据的方式不止一种。举个简单的Demo,我们要把用户信息呈现给人民。

一.ViewData.Model的使用,先简单写一下Razor

@model   User------用户信息模型

姓名<span>@Model.name</span>

年龄<span>@Model.age</span>

 

为了在页面呈现用户姓名和年龄资料,我这样写Action

public ActionResult User()

{

  User user=new User();//实例用户信息模型,前提是定义好

  user.name="张三";

  user.age="18";

  return View(user);//这里返回模型到Razor中

}

上面红色部分改为ViewData.Model=user;return View();也可以实现我们的目的。

这就是ViewData.Model的用法,它会把Model当做强类型数据传到Razor视图中。

 

二.再写写ViewDataViewBag,我想给用户加两条信息,分别是性别和爱好。

在Action User()里添加代码

ViewData["sex"]="男";

ViewBag.love="apple";

在视图中添加代码

性别<span>@ViewData["sex"]</span>

爱好<span>@ViewBag.love</span>

ViewData与ViewBag的区别

  ViewData ViewBag
性能
类型 Key/Value的集合 dynamic类型对像
类型转换 在前台页面时有些数据需转换(ex:分页集合) 不需转换

 

三.还有一个TempData.它作用于Action()与Action()间的数据传递。ViewData也可以,不过只能在相同名字下的Action()传递数据。

我再定义一个名为Info()的Action,这时要想把上面User()中的用户任一信息传递到Info()中,就可以使用TempData了。

在User()中添加代码TempData["name"]=user.name;之后,在Info()中便可接收。

Public ActionResult Info()

{

  var name=TempData["name"];

}

同样,ViewData,BiewBag和TempData之间也可以接受数据。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/paulhe/p/3576454.html

你可能感兴趣的文章
QT5:QSS
查看>>
OpenCV2:幼儿园篇 第二章 读取图像
查看>>
搞好团队建设的致胜法宝
查看>>
从Socket入门到BIO,PIO,NIO,multiplexing,AIO(未完待续)
查看>>
Hexo中添加本地图片
查看>>
实验二
查看>>
HDU5647 Tree DP
查看>>
函数的形参和实参
查看>>
数据科学从业者常见的不良小习惯
查看>>
文字过长 用 ... 表示 CSS实现单行、多行文本溢出显示省略号
查看>>
1Caesar加密
查看>>
orcal 主键 外键 约束条件
查看>>
BZOJ 3779 重组病毒 LCT+线段树(维护DFS序)
查看>>
【TP SRM 703 div2 500】 GCDGraph
查看>>
hdu1203 dp背包问题
查看>>
Ubuntu grub2的修复
查看>>
ASP.NET 2.0: 在使用web.sitemap时,如何实现本地化
查看>>
MapReduce 重要组件——Recordreader组件 [转]
查看>>
2017-2018-2 20179225 《密码与安全新技术专题》 第6周作业
查看>>
转载:Linux命令行快捷键
查看>>