控制器到视图的传值方式

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

(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>

时间: 2024-10-10 22:33:31

控制器到视图的传值方式的相关文章

Asp.Net Core MVC控制器和视图之间传值

一.Core MVC中控制器和视图之间传值方式和Asp.Net中非常类似 1.弱类型数据:ViewData,ViewBag 2.强类型数据:@model 二.代码 实例  1.ViewData public IActionResult Index() { //测试的 时候在Cummuty2017的最新版中右键添加视图生成的 视图文件的编码 为ANSI对于中文显示乱码 //使用ViewData 实现 控制器 和 视图之间传值 /* * 1.ViewData指定键值对的方式设置或读取 数据 * 2.

iOS中多视图的传值 属性传值和代理传值

首先创建两个类 ,FirstViewController和SecondViewController,都继承于UIViewController 1 #import "AppDelegate.h" 2 #import "FirstViewController.h" 3 4 @interface AppDelegate () 5 6 @end 7 8 @implementation AppDelegate 9 10 11 - (BOOL)application:(UIAp

iOS 页面间几种传值方式(属性,代理,block,单例,通知)

第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间常用的五种传值方式: (一)属性传值 第二个界面中的lable显示第一个界面textField中的文本 首先我们建立一个RootVie

MVC&amp;WebForm对照学习:传值方式

刚从webform开发转到mvc,如果说像路由这样稍微复杂一点的知识点还可以暂时先放一放(前提是默认的路由规则基本满足大部分需求),那有个问题在快速开发中,我想是必须要当即解决的,那就是webform中的传值方式是否同样适用于mvc中.那么本文照旧分两部分来阐述.接下来先简单快速地回顾webform中的传值方式. Part 1  WebForm中的传值方式  Form表单传递(get/post)   //aspx<input type="text" id="txtNam

iOS学习之六种传值方式

iOS页面传值方式 应用于: 两个互动的界面:1)页面一跳转到页面二,页面一的textField的值传给页面二的label.2)A页面跳转到B页面,B页面再跳转回A页面(注册页面跟登录页面) 两个不互动的两个界面:数据持久层跟表示层的数据交互. 几种传值方式: 属性传值  委托delegate方式 通知notification方式 block方式 单例模式方式 UserDefault或者文件方式 1.属性传值(顺传): 需要定义一个公开的属性 需要一个你需要传值的对象 进行属性赋值 实现:A.B

ASP.NET MVC view与controller传值方式

1: ViewData传值方式ViewData的生命周期和View相同, 只对当前View有效.   ViewData["zd"] = dfdfd2:TempData传值方式   可以跨Action传递   TempData的数据至多只能经过一次Controller传递, 并且每个元素至多只能被访问一次,     例如一个用法为,抛出一个异常.跳转到error页面public ActionResult Index3(){      TempData["tempIndex&qu

MVC中页面传值方式总结

MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一.Controller----------->View 1.ViewData 获取或设置一个字典,其中包含在控制器和视图之间传递的数据.使用ViewData是采用键值对的形式,对所定义的数据进行传递.在View中会自动识别到拥有唯一键值的ViewData,并将数据显示出来. 例子: public ActionResult() { <span style="white-space

iOS 各种传值方式

原文  http://www.cnblogs.com/496668219long/p/4471757.html 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间传值的几种方式: (一)属性传值 第二个界面中的lable显示第一个界面t

简述UIViewControl之间的七种传值方式~~~

将自己学习到的UIViewControl之间传值的几种方式在这里做一下总结,希望童鞋们多多支持哈--- 一.正向传值方式 这种方式传值应该是最简单的方式,我们先来建立两个视图控制器暂且称为OneViewControl和TwoViewControl,然后第一个视图控制器上面有一个UIButton(按钮)和一个UIlabel(标签),第二个控制器中有一个UIButton和一个UITexField(文本框).然后我们在AppDelegate加入如下代码 - (BOOL)application:(UIA