在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视图中。

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

在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之间也可以接受数据。

MVC之ViewData.Model的更多相关文章

  1. MVC 强类型传值Model。和弱类型传值ViewData[&quot;&quot;]。及用EF进行增删查改(母版页的使用)

    <1> 控制器 </pre><pre name="code" class="csharp">using MvcTest.Mo ...

  2. ASP.NET MVC中对Model进行分步验证的解决方法

    原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...

  3. asp.net MVC中的@model与Model

    asp.net MVC中的@model与Model https://blog.csdn.net/ydm19891101/article/details/44301201 在MVC的实际使用中,我们经常 ...

  4. ASP.NET MVC中ViewData、ViewBag和TempData

    1.ViewData 1.1 ViewData继承了IDictionary<string, object>,因此在设置ViewData属性时,传入key必须要字符串型别,value可以是任 ...

  5. MVC模式(Model View Controller)下实现数据库的连接,对数据的删,查操作

    MVC模式(Model View Controller): Model:DAO模型 View:JSP  在页面上填写java代码实现显示 Controller:Servlet 重定向和请求的转发: 若 ...

  6. ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例

    在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...

  7. C#-MVC基础-模型(Model)、视图(View)和控制器(Controller)

    搜狗百科:http://baike.sogou.com/v25227.htm?fromTitle=MVC MVC全名是Model View Controller,是软件工程中的一种软件架构模式,把软件 ...

  8. ASP.NET Core MVC 中的 Model 模型

    ASP.NET Core MVC 中的 Model 我们希望最终从 Student 数据库表中查询特定的学生详细信息并显示在网页上,如下所示. MVC 中的模型包含一组表示数据的类和管理该数据的逻辑. ...

  9. Core Mvc传值ViewData、ViewBag和return view(model)

    先定义一个Model类Student namespace Lession.Models { public class Student { public string Name { get; set; ...

随机推荐

  1. CHNS类

    NS类集合介绍 1.常用部分 NSDictionary NSString NSArray 数组 NSTimer 定时器 NSRange 范围 NSNotification 2.网络相关 NSURLCo ...

  2. 前端基础:call,apply,bind的的理解

    背景 前两天在做小程序的需求的时候用到bind的时候才想起自己对这三的东西的了解比较浅薄,这个时候用的时候就有点怕.时候还是要好好学习下,理解下怎么玩. 正文 先说call 和 apply吧:ECMA ...

  3. php二维数组的某一字段 做分组统计

    $country=array_column($order,'country');$countryGP=array_count_values($country);对二维数组的某一字段 做分组统计

  4. 转载JAVA八大经典书籍,你看过几本?

    一.Java从入门到精通*<Java从入门到精通(第3版)>从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识.<Java从入 ...

  5. django 基础框架学习 (一)

    Django-01 Web框架 1.Web应⽤程序处理流程  : 2.Web框架的意义            1.⽤于搭建Web应⽤程序            2.免去不同Web应⽤相同代码部分的重复 ...

  6. Python之‘’控制流‘’

    一.if语句 格式: i1 = 3 if i1 > 4: print('yes you are right') elif 0 < i1 < 4: print('im dont kon ...

  7. docker log: containerid-json.log 文件disappear,问题排查及解决方案

    问题排查: 运行 #docker info   查阅资料,知道了docker的logging driver相关理论:https://docs.docker.com/engine/admin/loggi ...

  8. cocos2d 3.3 安装教程

    最近在学习cocos-2d,百度一下cocos-2d,铺天盖地的都是cocos-2dx的教程,不得不说,老外还是钟情cocos2d,之前安装过cocos2d 2.0版本,网上的教程还是都是0.9的安装 ...

  9. WebForm与MVC混用 (转)

    http://blog.csdn.net/leftfist/article/details/11591231

  10. ueditor chrome bug

    一.概述: 关于UEditor在谷歌浏览Chrome打开选择指上传图片,发现[点击选择图片]时无法立即弹出选择框,而是等4-7秒钟才显示出来的BUG,试了N多方法,改层级都用了,也无效.在网上找到了一 ...