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视图中。
二.再写写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的更多相关文章
- MVC 强类型传值Model。和弱类型传值ViewData[""]。及用EF进行增删查改(母版页的使用)
<1> 控制器 </pre><pre name="code" class="csharp">using MvcTest.Mo ...
- ASP.NET MVC中对Model进行分步验证的解决方法
原文:ASP.NET MVC中对Model进行分步验证的解决方法 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个 ...
- asp.net MVC中的@model与Model
asp.net MVC中的@model与Model https://blog.csdn.net/ydm19891101/article/details/44301201 在MVC的实际使用中,我们经常 ...
- ASP.NET MVC中ViewData、ViewBag和TempData
1.ViewData 1.1 ViewData继承了IDictionary<string, object>,因此在设置ViewData属性时,传入key必须要字符串型别,value可以是任 ...
- MVC模式(Model View Controller)下实现数据库的连接,对数据的删,查操作
MVC模式(Model View Controller): Model:DAO模型 View:JSP 在页面上填写java代码实现显示 Controller:Servlet 重定向和请求的转发: 若 ...
- ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例
在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...
- C#-MVC基础-模型(Model)、视图(View)和控制器(Controller)
搜狗百科:http://baike.sogou.com/v25227.htm?fromTitle=MVC MVC全名是Model View Controller,是软件工程中的一种软件架构模式,把软件 ...
- ASP.NET Core MVC 中的 Model 模型
ASP.NET Core MVC 中的 Model 我们希望最终从 Student 数据库表中查询特定的学生详细信息并显示在网页上,如下所示. MVC 中的模型包含一组表示数据的类和管理该数据的逻辑. ...
- Core Mvc传值ViewData、ViewBag和return view(model)
先定义一个Model类Student namespace Lession.Models { public class Student { public string Name { get; set; ...
随机推荐
- Git分支管理命令
1. 创建新分支 1)创建新仓库 git init git add README.md git commit -m "readme.md" git remote add origi ...
- 解读人:董鑫,Disease Development Is Accompanied by Changes in Bacterial Protein Abundance and Functions in a Refined Model of Dextran Sulfate Sodium (DSS)-Induced Colitis
文章中文名:在葡聚糖硫酸钠(DSS)诱导下的结肠炎模型伴随着细菌蛋白质丰度和功能的改变 单位: 1 Helmholtz-Centre for Environmental Research - UFZ, ...
- Unity---Directory目录的删除、存在、创建操作
使用Directory类要引入命名空间 using System.IO; Directory类下的三个静态方法. public static void CreateDirectory(string ...
- P1987 摇钱树
题意:有n棵摇钱树,k天,每天可砍一棵并获得其金币 每棵树初始有$a_i$个金币,每天减少$b_i$个 问k天得到的最多金币数 这题很明显是DP(锻炼自己的机会来了QAQ) 设$f[i][j]$ ...
- php 过滤重复的数组
首先数组分为一维数组和多维数组 1.一维数组 $a = array(a,b,c,d,a,b,e,f,g); array_unique($a) 就行了 2.二维数组 $a = array( array( ...
- redis之常用Set和ZSet命令
redis五种数据类型:String,Hash,List,Set,ZSet.五种数据类型各有优点,各司其职.最后两种数据类型Set和ZSet基本上是一种,ZSet就是给Set加了个排序而已(相当于加了 ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(一)
[概念] 编译器直接支持的数据类型 [C#基元类型与对应的 FCL 类型] C#基元类型 FCL 类型 说明 sbyte System.Sbyte 有符号8位值 byte System.Byte 无符 ...
- Linux系统调用接口添加简单示例
1. Linux体系结构 Linux系统的地址空间分为用户空间和内核空间,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移. 2. 系统调用接口 ① 一般情况下,用户进程不能访问内核空间.Li ...
- Socket 代码收藏
class SocketHelper { public delegate void Uplistbox(string txt); public Uplistbox u ...
- python解决excel工作薄合并处理
年度了,要对每个月的数据进行总的汇总,去计算每消耗品的使用情况,表格都在一个工作表的不同sheet中,并且格式相同,所以就用python写了这个小脚本,现在把脚本粘贴出来,以后有需要就可以在此基础上改 ...