ASP.NET MVC2中Controller向View传递数据的方式
来源:互联网 发布:java sftp下载 编辑:程序博客网 时间:2024/04/30 19:30
在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML。
这篇文章介绍由Controller向View传递数据的方式,实现一个DropDownList的显示。
第一种:ViewData
ViewData是一个Dictionary。使用非常简单,看下面代码:
List<SelectListItem> List = new List<SelectListItem>{ new SelectListItem(){ Text="ViewDataWay1", Value="ViewDataWay1"}, new SelectListItem(){ Text="ViewDataWay2", Value="ViewDataWay2"}, new SelectListItem(){ Text="ViewDataWay3", Value="ViewDataWay3", Selected=true}, new SelectListItem(){ Text="ViewDataWay4", Value="ViewDataWay4"},};ViewData["ViewData"] = List;在View中使用下面代码取值:
<%= Html.DropDownList("ViewData")%>
第二种:TempData
使用TempData和使用ViewData方法是一样的。
List<SelectListItem> List = new List<SelectListItem>{ new SelectListItem(){ Text="ViewDataWay1", Value="ViewDataWay1"}, new SelectListItem(){ Text="ViewDataWay2", Value="ViewDataWay2"}, new SelectListItem(){ Text="ViewDataWay3", Value="ViewDataWay3", Selected=true}, new SelectListItem(){ Text="ViewDataWay4", Value="ViewDataWay4"},};TempData["TempData"] = new SelectList(List, "Value", "Text", "ViewDataWay4");
View取值的代码如下:
<%= Html.DropDownList("Country", TempData["TempData"] as SelectList)%>
注意:不能在action里面这样写:
TempData["ViewData"] = List;
不能在View里面这样写:
<%= Html.DropDownList("ViewData")%>
否则会报错:
不存在具有键“Country”的“IEnumerable<SelectListItem>”类型的 ViewData 项。
public SelectList(IEnumerable items,string dataValueField,string dataTextField,Object selectedValue)Parametersitems Type: System.Collections.IEnumerable The items.dataValueField Type: System.String The data value field.dataTextField Type: System.String The data text field.selectedValue Type: System.Object The selected value.使用这个SelectList构造函数,第四个参数就是选中项的值:http://msdn.microsoft.com/en-us/library/dd492553.aspx
=============================================================
ViewData和TempData的区别:
不管它们是否基于session 在用法上最大的区别在于 ViewData用于action方法与前台页面传值使用,TempData除了有viewData的功能外也可以在action方法之间传递值(在本controller里可以传递 跨contoller也是可以的)也可以在重新定向后赋予定向方法的前台页面。
http://www.cnblogs.com/chengxiaohui/articles/1916647.html
http://kb.cnblogs.com/page/69952/
- ASP.NET MVC2中Controller向View传递数据的三种方式
- ASP.NET MVC2中Controller向View传递数据的方式
- ASP.NET MVC2中Controller向View传递数据的三种方式
- ASP.NET MVC2中Controller向View传递数据的三种方式
- 浅析ASP.NET MVC中Controller与View数据传递
- 浅析ASP.NET MVC中Controller与View数据传递
- asp.net MVC前台View页面向后台Controller控制器传递数据的几种方式
- ASP.NET MVC中Controller与View之间的数据传递总结
- ASP.NET MVC中Controller与View之间的数据传递总结
- ASP.NET MVC中Controller与View之间的数据传递总结
- ASP.NET MVC中Controller与View之间的数据传递总结 (来自网络)
- ASP.NET MVC3中Controller与View之间的数据传递总结
- ASP.NET MVC中Controller与View之间的数据传递总结
- Asp.net mvc中controller与view间的如何传递数据
- ASP.NET MVC3中Controller与View之间的数据传递总结
- ASP.NET MVC中从后台控制器(Controller)传递数据到前台页面视图(View)方式
- ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
- ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
- YUM更换源(2)--更新Centos6.2 yum的163源
- Android remake
- Win32串口编程
- 一个游戏程序员的学习资料
- 字符加密
- ASP.NET MVC2中Controller向View传递数据的方式
- 给桌面添加Gallery快捷图库
- 在linux网络UDP通信中,关于客户端是否绑定的理解
- C++ 初始化列表
- Ubuntu关于dpkg:处理 xxx (–configure)时出错的解决办法
- 优秀的代码
- 在 Linux 平台中调试 C/C++ 内存泄漏方法
- android 数据传递详解(Serialization、Parcelable、Parcel、Intent、Bundle)
- 伪终端 知识了解