MVC 传值
1、ViewBag
Controller:ViewBag.Message = "Hello, Word";
View:@ViewBag.Message
注:ViewBag的类型是动态的,不确定的,直接就可以使用,它的传值范围是:controller向view传值,view自己和自己传值。
2、ViewData
Controller:ViewData["message""] = "Hello, Word";
View: string message = ViewData["message"] as string;
@message
注:ViewData的类型是很明确的,使用的时候经常需要强制类型转换,它的传值范围是:controller向view传值,view自己和自己传值。
3、TempData
Controller: TempData["message"] = "Hello, Word";
Controller:if ("Hello, Word" == TempData["message"] as string) { TempData["message"] = "Hello!"; }
View: string message = TempData["message"] as string;
@message
注:TempData存在的目的就是为了防止redirect时候数据的丢失(ViewData、ViewBag在跳转后就会变成null,但是TempData不会),它的传值范围是当前controller和跳转后的controller之间。
4、普通页面传递model
Controller:StarModel p = new StarModel (); p.Name = "Suk"; return View(p);
View:<%: ((StarModel )Model).Name %>
5、向强类型试图传递model
a:(WebForm 的实现)
Controller:StarModel p = new StarModel (); p.Name = "Suk"; return View(p);
View: <%@ Page Inherits="System.Web.Mvc.ViewPage<StarModel >" %>
<%: Model.Name %>
b:(Razor 的实现)
Controller:StarModel p = new StarModel (); p.Name = "Suk"; return View(p);
View:@model MOTest.Models.StarModel
@Model.Name
6、ViewModel
Controller: var StarModelTest = new StarModel (p); return View(StarModelTest );
View: @model MOTest.Models.StarModelTest
@Model.Name
7、RedirectToAction
a:(传递实体类)
RedirectToAction(控制器,控制器方法,实体类)
b:(传递字符串)
RedirectToAction(控制器,控制器方法,new{name=value,....})
MVC 传值的更多相关文章
- Mvc传值
提到Mvc传值我想大多数人想到的是ViewBag,自3.0之后在控制器与视图之间传值绝大多数传值用到的对象就是ViewBag.对于笔者以前做过的一些小的项目,貌似不需要考虑什么,但对于稍微大些的项目涉 ...
- MVC传值汇总
方法一: Url传参是通过Get的方式,一般我们都是通过一定规则的Url来传参.比如下面的URL. http://localhost/contorller/action/?Params1=a& ...
- Core Mvc传值Query、Form、Cookies、Session、TempData、Cache
1.传值方法 使用Request的方法(1-3): 1)Query:获取链接?后面的值 如:http://localhost:55842/Home/About?name=kxy public IAct ...
- ASP.NET MVC 传值方法ViewData与ViewBag的区别
一.介绍 在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag 它是Key/Value字典集合 它是dynamic类 ...
- MVC传值方式及优缺点
说在前面文章转自 http://www.cxyclub.cn/n/49493/ 在MVC控件器传递多个Model到视图,使用ViewData,ViewBag,部分视图,TempData,ViewMod ...
- Core Mvc传值ViewData、ViewBag和return view(model)
先定义一个Model类Student namespace Lession.Models { public class Student { public string Name { get; set; ...
- asp.net mvc 传值
视图的查找 asp.net MVC 不需要用using 释放资源
- Spring MVC传值乱码解决
在web.xml中进行配置,加入以下代码: <!-- 乱码解决 --> <filter> <filter-name>characterEncodingFilter& ...
- MVC传值前台
ViewBag.model = bLL.GetModel((int)id); ViewBag.RecruitmentTime = ViewBag.model.RecruitmentTime.ToStr ...
随机推荐
- jQuery之Deferred源码剖析
一.前言 大约在夏季,我们谈过ES6的Promise(详见here),其实在ES6前jQuery早就有了Promise,也就是我们所知道的Deferred对象,宗旨当然也和ES6的Promise一样, ...
- linux centos中添加删除修改环境变量,设置java环境变量
前言 安装完软件必要添加环境变量.指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋.好吧,好记星不如烂笔头.当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只 ...
- TFS 2015 敏捷开发实践 – 看板的使用
看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...
- linux下使用shell 自动执行脚本文件
以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 文件内容: #将tomcat ...
- jetBrain系列软件
请尽量支持正版软件!https://www.jetbrains.com/ 本文仅供参考 以下提供一种方法可以无限期体验JetBrain2016系列软件. 1.下载JetbrainsCrack-2.5. ...
- BZOJ 1391: [Ceoi2008]order [最小割]
1391: [Ceoi2008]order Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1509 Solved: 460[Submit][Statu ...
- 【每日一linux命令1】linux命令路径
一.路径: 执行命令前必须要考虑的一步是命令的路径,若是路径错误或是没有正确的指定,可能导致错误 的执行或是找不到该命令.要知道设置的路径,可执行以下命令: echo $PATH 显示结果: 这时我们 ...
- kvm上的Linux虚拟机使用virtio磁盘
kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6 64位 网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘 因为centos6或以上系统已经包含了vir ...
- Mono+Jexus让C#运行在Linux(centos7_x64),学习笔记
.h2cls { background: #6fa833 none repeat scroll 0 0 !important; color: #fff; font-family: "微软雅黑 ...
- 酷酷的CSS3三角形运用
概述 在早期的前端Web设计开发年代,完成一些页面元素时,我们必须要有专业的PS美工爸爸,由PS美工爸爸来切图,做一些圆角.阴影.锯齿或者一些小图标. 在CSS3出现后,借助一些具有魔力的CSS3属性 ...