在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. ubuntu - 14.04,安装rpm程序!!

    一,安装rpm转deb的工具“alien”:在软件中心里面输入“alien”,看是否已经安装,如果没有安装则直接安装. 二,把rpm转换为deb:在shell里输入“sudo alien --scri ...

  2. dedecms列表页面随机缩略图调用

    如果要利用dedecms制作扁平化主题,大概也能够遇到相似的问题,那就是dedecms的缩略图机制,在没有缩略图的情况下显示单一的默认图片,如果是wordpress可以很方便的定义函数调用随机的缩略图 ...

  3. tomcat启动优化

    tomcat的最佳实践运行模式 Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化. org.apache.coyote.http11.Http11Protocol ...

  4. HDU计算机学院大学生程序设计竞赛(2015’12)The Magic Tower

    Problem Description Like most of the RPG (role play game), “The Magic Tower” is a game about how a w ...

  5. jq ajax超时设置

    var ajaxTimeoutTest = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : 'get', //请求方式,g ...

  6. 制作网页logo

    一.先把jpg.png.jpeg等图片通过在线ico图标制作软件变成.ico图片 在线制作ico图标工具: http://www.bitbug.net/ 二.在head里面添加如下代码 <lin ...

  7. Nginx常用rewrite跳转重定向实例

    1.将www.myweb.com/connect 跳转到connect.myweb.com rewrite ^/connect$ http://connect.myweb.com permanent; ...

  8. 服务器查看外网IP地址和方法

    返回IP地址 curl ip..com/ip.aspx curl whatismyip.akamai.com wget -qO - ifconfig.co curl icanhazip.com dig ...

  9. CSS background 属性全家桶

    介绍我们都知道css的background属性是一个复合属性,可以简写成一行代码,也可以将每个属性分开来写. background 简写属性在一个声明中设置所有的背景属性.如:body{ backgr ...

  10. 分治法 - Divide and Conquer

    在计算机科学中,分治法是一种很重要的算法.分治法即『分而治之』,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的 ...