码迷,mamicode.com
首页 > 其他好文 > 详细

控制器到视图的传值方式

时间:2017-04-04 10:32:03      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:查询   命名   变量   空间   code   text   需要   ora   strong   

一。从控制器到视图的传值方式

(1)Viewdata

C:Viewdata["key"]="viewdata"//控制器中赋值        V:Viewdata["key"]//视图中取值

(2)Viewbag

C:Viewbag.key="viewbag"//控制器中赋值   V:viewbag.key//视图中取值

(3)TempData

C:Tempdata["key"]="tempdata"//控制器中赋值  V:Tempdata["key"]//视图中取值

(4)Model

ViewData.Model=查询出的对象 V:通过强类型页面  形式为:@model   从控制器中传来的具体类型(单个对象或者集合)

 

viewdata与viewbag区别:
(1)对于普通类型 传值方式一样
(2)对于强类型(对象)viewdata需要强制转换     
    第一种方式: 某对象 s=(命名空间+某对象)(viewdata["对象变量"])   
 
    第二种方式:  某对象 s=  viewdata["对象变量"] as  命名空间+某对象)   
 
Viewdata与Tempdata的区别:
(1)viewdata 传值时不能跨方法,否则值会丢失,只能是在本方法到本视图 
 (2)tempdata 可以跨方法取值不会丢失
 
强类型传值:通过对象传值(Model):
C中:返回一个对象(变量),return View(对象变量p);//p可能是单个对象也有可能是一个集合PL
V中:需要一个接受从C中传来的,与之对应的对象变量(一般为model)【可能是单个对象也有可能是集合】
 
例如:对于单个对象p:@model  mvc传值.Models.Student   此时model是 Student类型的一个对象  使用model就可以访问Student类
    是对于传过来的是一集合PL:   @model  List<mvc传值.Models.Student>
 

控制器到视图的传值方式

标签:查询   命名   变量   空间   code   text   需要   ora   strong   

原文地址:http://www.cnblogs.com/bfwbfw/p/6664393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!