下面介绍 ASP .Net MVC中 Cotroller 向 View 传值 的4中方式: ViewBag,ViewData,TempData,Model.

(注:参数可根据需要为复杂类型,只需在应用端做相应的数据(如有需要)类型转换即可,此处只应用string 简单类型举例。)

  1. 1)ViewBag 
ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.myName

控制器代码:

public ActionResult Index()
{
ViewBag.name = "代号0608";
ViewBag.message = "test MVC Data from Contrller to View ";
return View();
}

视图代码:

<div>
<!--利用HtmlHelper创建TextBox时,使用名称与ViewBag中的Key一致, 就会自动实现值绑定-->
@Html.TextBox("name")
@ViewBag.message
</div>

2)ViewData

ViewData只对当前Action有效,它是一个字典集合,通过key值读取对应的value。

控制器代码ex: ViewData["Title"] = " Using ViewData";
视图代码ex: ViewData["Title"]
注: 此处给出 ViewBag 和 ViewData 的对照。
ViewData ViewBag
它是Key/Value字典集合 它是dynamic类型对像
从Asp.net MVC 1 就有了 ASP.NET MVC3 才有
基于Asp.net 3.5 framework 基于Asp.net 4.0与.net framework
ViewData比ViewBag快 ViewBag比ViewData慢
在ViewPage中查询数据时需要转换合适的类型 在ViewPage中查询数据时不需要类型转换
有一些类型转换代码 可读性更好

3)TempData

可以跨Action传递,TempData的数据至多只能经过一次Controller传递, 并且每个元素至多只能被访问一次
控制器代码 Ex: TempData["taxCommentList"] = taxCommentList;
视图代码 Ex: foreach (var item in ViewData["taxModelList"] as IEnumerable<MvcAspxMovie.Models.taxModel>)

4)Model

通过强类型绑定,在View中可以通过Model的相应属性得到想要的值。
控制器ex:DateTime date = DateTime.Now;
return View(date);
视图ex: <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<DateTime>" %>
 @(((DateTime)Model).DayOfWeek)

MVC1:.Net MVC Cotroller向View传值的更多相关文章

  1. ASP.NET MVC Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  2. ASP.NET MVC Controller向View传值的几种方式

    上几篇博文提到MVC和WebForm的区别,主要是MVC的Controller和View将传统的WebForm的窗体和后台代码做了解耦,这篇博文简单介绍一下在MVC中Controller向View是如 ...

  3. Asp.Net MVC Control向View传值

     1.通过View(Parameter)参数传值     Control: namespace MyMVCDemo.Controllers { public class PersonControlle ...

  4. MVC Controller向View传值(ViewData与ViewBag)

    近期在开发项目中,使用的是ASP.NET MVC因为之前并没有接触,对于它的传值方式有些陌生,在这里进行初步总结积累学习. 一:使用 ViewData使用: public ActionResult I ...

  5. ASP.NET MVC 控制器向View传值的三种方法

    转自:http://www.cnblogs.com/shinima/p/3940452.html 1.提供视图模型对象 你能把一个对象作为View方法的参数传递给视图. public ViewResu ...

  6. MVC Controller 与 View 传值

    Controller 到 View 1 强类型 控制器 // GET: /Test/ public ActionResult Index() { DateTime date = DateTime.No ...

  7. MVC 控制器向View传值的三种方法(转)

    1.提供视图模型对象 你能把一个对象作为View方法的参数传递给视图. public ViewResult Index() { DateTime date = DateTime.Now; return ...

  8. 【MVC框架】——View和Controller之间的传值

    在MVC中,Controller运行一个能够说是路由功能.它通过View传过来的数据,来决定应该调用哪一个Model,相同会把Model处理完的数据传给View,所以就总是涉及到Controller和 ...

  9. MVC中视图View向控制器传值的方法

    MVC中视图View向控制器传值的方法步骤如下: 1.index页面: 页面中只需要一个触发事件的按钮

随机推荐

  1. 修改mysql的binlog的位置

    最近项目上装的mysql服务,分配的磁盘空间太小了,导致binlog两天时间就能打满,这里记录下处理方式 mysql的binlog日志是一个很重要的日志,以事件形式记录了所有的DDL和DML(除了数据 ...

  2. 基于mini2440嵌入式Linux根文件系统制作(Initramfs和nfs两种跟文件系统)

    嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫 ...

  3. redis弱密码漏洞利用

    背景: redis无认证,或者弱密码,可以成功连接到redis服务器 反弹shell拿到的权限取决于redis的启动账号 操作: 1. Centos7安装redis客户端 #yum install r ...

  4. 关于Win Re的故事

    闲来无事,拿出来自己的小破笔记本瞎折腾,突然发现桌面上竟然还残留着上一个公司的内部vpn, 我是一个有着轻微洁癖强迫症的人,留着这么一个东西占据我本来就不是很大的固态硬盘,简直是罪过.于是我头脑一热, ...

  5. touch cyusbConfig.cmake

    touch cyusbConfig.cmake cmake文件丢失,与其解决问题,不如临时建立一个临时文件

  6. Mongodb的mapreduce

    简单的看了一下mapreduce,我尝试不看详细的api去做一个group效果,结果遇到了很多问题,罗列在这里,如果别人也遇到了类似的bug,可以检索到结果. //先看person表的数据 > ...

  7. springboot+elasticsearch 报错

    错误1: .d.e.r.s.AbstractElasticsearchRepository : failed to load elasticsearch nodes : org.elasticsear ...

  8. spring 视图解析 ——InternalResourceViewResolver

    原文:https://www.cnblogs.com/lyj-gyq/p/8963885.html Spring自带了13个视图解析器,能够将逻辑视图名转换为物理实现 首先将会介绍 InternalR ...

  9. Acwing-274-移动服务(DP)

    链接: https://www.acwing.com/problem/content/276/ 题意: 一个公司有三个移动服务员,最初分别在位置1,2,3处. 如果某个位置(用一个整数表示)有一个请求 ...

  10. webpack打包,同时将ES6转为ES5,初探

    webpack打包,同时将ES6转为ES5,第一次尝试搞了一下午才弄好,所有的问题均来自ES6转es5上面,可能天分不够把,但愿各大浏览器快点支持ES6吧!忽略nodejs安装. 第一,新建一个项目文 ...