MVC viewbag & viewdata
弱类型:ViewData[""]
动态型:ViewBag dynamic
ViewData 是字典型的(Dictionary),ViewBag 不再是字典的键值对结构,而是dynamic(动态型),会在程序运行的时候动态解析。
ViewData为object型,而ViewBag为dynamic型。
dynamic型与object型的区别是在使用时它会自动根据数据类型进行转换,而object型则需要我们自己来强制转换。
控制器:
public ActionResult Top()
{
string sessionId = Request.Cookies["sessionId"].Value;//授权从Cookie中传递过来的Memcache的Key
Object obj = MemcachedHelper.Get(sessionId);//根据key从Memcache中获取用户的信息
List<UsersJsonParam> userInfo = new List<UsersJsonParam>(); // 反序列化
userInfo = JsonConvert.DeserializeObject<List<UsersJsonParam>>(obj.ToString()); ViewBag.IlistUserInfo = userInfo;
ViewData["IlistUserInfo"] = userInfo; return View();
}
chtml:
@foreach (var item in ViewBag.IlistUserInfo)
{
<label style="font-family: Candara; font-size: 12px; color: #fff; margin-top: 20px;">您好:</label>
<label style="font-family: Candara; font-size: 12px; color: #fff; margin-top: 20px; ">@item.UserName</label>
<label style="font-family: Candara; font-size: 12px; color: #fff; margin-top: 20px; ">,欢迎登录系统!</label>
}
@ViewBag.DateNow @foreach (var item in ViewData["IlistUserInfo"] as List<BC.Platform.UPMS.JsonParam.UsersJsonParam>)
{
<label style="font-family: Candara; font-size: 12px; color: #fff; margin-top: 20px;">您好:</label>
<label style="font-family: Candara; font-size: 12px; color: #fff; margin-top: 20px; ">@item.UserName</label>
<label style="font-family: Candara; font-size: 12px; color: #fff; margin-top: 20px; ">,欢迎登录系统!</label>
}
@ViewData["dateNow"]
MVC viewbag & viewdata的更多相关文章
- ASP.NET MVC ViewBag/ViewData/TempData区别
ViewBag/ViewData public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } Vi ...
- MVC ViewBag和ViewData的区别
在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag 是动态类型(dynamic),ViewData 是 ...
- 怎么在js中,访问viewbag,viewdata等等的值
在js中要访问viewbag,viewdata存储的值, var ss='@ViewBag.name'; 一定要加引号,单双随便,还有, ViewBag一定要写规范,不然会编译错误! 成功者的秘诀就是 ...
- Asp.net MVC的ViewData与ViewBag以及TemplateData的使用与区别
ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP.NET MVC3 才有 基于Asp.net 3.5 fram ...
- asp.net mvc中ViewData、ViewBag和TempData的详解
一.ViewData和ViewBag 1.ViewData和ViewBag都是从Action向View传递数据的方式,当然还有其他方式如向View传递Model. 2.ViewData页面查询数据时需 ...
- Core Mvc传值ViewData、ViewBag和return view(model)
先定义一个Model类Student namespace Lession.Models { public class Student { public string Name { get; set; ...
- ASP.NET MVC中viewData、viewBag和templateData的使用与区别
一:类型比较 1.1)ViewBag是动态类型(dynamic). 1.2)ViewData是一个字典型的(Dictionary)-->ViewDataDictionary. 1.3)TempD ...
- ASP.NET MVC中viewData、viewBag和templateData的区别
在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag是动态类型(dynamic),ViewData是一个 ...
- ASP.NET MVC中ViewData、ViewBag和TempData
1.ViewData 1.1 ViewData继承了IDictionary<string, object>,因此在设置ViewData属性时,传入key必须要字符串型别,value可以是任 ...
随机推荐
- java动态编译 (java在线执行代码后端实现原理)(二)
在上一篇java动态编译 (java在线执行代码后端实现原理(一))文章中实现了 字符串编译成字节码,然后通过反射来运行代码的demo.这一篇文章提供一个如何防止死循环的代码占用cpu的问题. 思路: ...
- 微软MVP Round Table
2017年7月7日,微软VS圈子的老大兼女神Julia(潘正磊)以及Peter Hu等人,和若干MVP一起在进行了一次Round Table讨论. 讨论过程中主要针对VS和TFS/VSTS相关的功能. ...
- 所有版本chromedriver下载
所有版本chromedriver下载 http://chromedriver.storage.googleapis.com/index.html
- 多个StoryBoard之间的跳转
iOS项目中可以将同一业务流程的页面归置到一个StoryBoard中,项目中必然会包含多个StroryBoard,可以利用跳转,实现项目的不同业务流程页面间的跳转切换. 实现思路: 1,项目(Proj ...
- mysql 中事件
# 创建存储过程 /* delimiter // create procedure test() begin update test SET name = date_format(now(),'%Y- ...
- VS2008里的代码如何格式化
选中要格式化的代码, 先按Ctrl+K 再按Ctrl+F 从菜单中也可以 "编辑"->"高级"->"设置文档的格式Ctrl+K Ctrl+ ...
- JavaBean 介绍
// Person.java public class Person{ private String name; private int age; // 无参构造函数 public Person(){ ...
- Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】
首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...
- C#简单实现动态数据生成Word文档并保存
今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来 ...
- Python(面向对象3 ——实例)
这个小东西包括了最近学习的,包括模块.包.序列化.继承.派生.组合的应用举例.整体架构如图: bin是程序入口,core包括了几个主要逻辑,main是主架构,login包括登录功能,register包 ...