MVC之ViewData.Model

  在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的区别

 ViewDataViewBag
性能
类型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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值