1.提供视图模型对象

你能把一个对象作为View方法的参数传递给视图.

  1. public ViewResult Index()
  2. {
  3. DateTime date = DateTime.Now;
  4. return View(date);
  5. }

  然后我们在视图中使用Razor的Model关键字来访问这个对象

  1. @{
  2. ViewBag.Title = "Index";
  3. }
  4. <h2>Index</h2>
  5. The day is: @(((DateTime)Model).DayOfWeek)

或者是

  1. @model DateTime
  2. @{
  3. ViewBag.Title = "Index";
  4. }
  5. <h2>Index</h2>
  6. The day is: @Model.DayOfWeek

2.使用ViewBag(视图包)传递数据

View  Bag 允许在一个动态的对象上定义任意属性,并在视图中访问它.这个动态的对象可以通过Controller.ViewBag属性访问它.

  1. public ViewResult Index()
  2. {
  3. ViewBag.Message = "Hello";
  4. ViewBag.Date = DateTime.Now;
  5. return View();
  6. }
  7.  
  8. @{
  9. ViewBag.Title = "Index";
  10. }
  11. <h>Index</h>
  12. The day is: @ViewBag.Date.DayOfWeek
  13. <p />
  14. The message is: @ViewBag.Message

3. 使用View Data传递数据

MVC3.0之前,主要是通过这种方式传递数据,它是通过用 ViewDataDictionary类实现的,而不是动态的对象.ViewDataDictionary类是类似标准"键/值"集合,并通过

Controller类的ViewData属性进行访问的.这个方法,在视图中需要对对象进行转换.

  1. 控制器中:
  2. public ViewResult Index()
  3. {
  4. ViewData["Message"] = "Hello";
  5. ViewData["Date"] = DateTime.Now;
  6. return View();
  7. }
  8.  
  9. 视图中:
  10. @{
  11. ViewBag.Title = "Index";
  12. }
  13. <h2>Index</h2>
  14. The day is: @(((DateTime)ViewData["Date"]).DayOfWeek)
  15. <p />
  16. The message is: @ViewData["Message"]

MVC 控制器向View传值的三种方法(转)的更多相关文章

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

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

  2. Asp.Net MVC向视图View传值的三种方法

    本文将总结Asp.Net MVC向视图View传值的三种常见的方法: ----------------------------------------------------------------- ...

  3. MVC-控制器向View传值的三种方法

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

  4. MVC控制器向View视图传值的三种方法

    首先创建一个MVC的项目,其中需要一个控制器(TestController),三个视图(index,edit,detail) 1.项目结构如下:

  5. React Router v4 页面传值的三种方法

    传值方法 1.props.params 使用React router定义路由时,我们可以给指定一个path,然后指定通配符可以携带参数到指定的path: <Route path='/user/: ...

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

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

  7. struts2前后台传值的三种方法

    原文地址: http://laokaddk.blog.51cto.com/368606/1340816 多的不说,直接上代码; struts.xml代码: <?xml version=" ...

  8. javascript静态页面传值的三种方法分享

    一:JavaScript静态页面值传递之URL篇能过URL进行传值.把要传递的信息接在URL上.Post.htm 复制代码 代码如下: <input type="text" ...

  9. iOS UI-界面传值(三种方法)

    #import <Foundation/Foundation.h> @interface DataModel : NSObject @property (nonatomic, copy) ...

随机推荐

  1. C# 5.0中新增特性

    C# 5.0随着VisualStudio 2012一起正式发布了,让我们来看看C#5.0中增加了哪些功能. 1. 异步编程 在.Net 4.5中,通过async和await两个关键字,引入了一种新的基 ...

  2. 常用转义字符例如&amp;的含义

    &amp中的amp就是英文ampersand的缩写,该词的意思是&这个符号& 是 HTML 中 & 的表示方法.即在html中用&表示&符号

  3. Ubuntu16.4下安装Chrome浏览器以及Chromedriver

    一.Chrome浏览器的安装 对于谷歌Chrome32位版本,使用如下链接: wget https://dl.google.com/linux/direct/google-chrome-stable_ ...

  4. jquery筛选元素函数

    jquery筛选元素函数 1.过滤匹配第二个p元素: $("button").click(function(){ $("p").eq(1).css(" ...

  5. Ansible Jinja2使用

    常用方法 ternary 根据结果的真假来决定返回值 - name: Set container backend to "dir" or "lvm" based ...

  6. Codeforces Round #520 (Div. 2)B(贪心,数学)

    #include<bits/stdc++.h>using namespace std;int mi[100007];int main(){ int cnt=0; int flag=0; i ...

  7. ac自动机俩模板

    ac自动机算法正确性还没有理解,算法导论也看不懂..等懂了回来发算法专题. #include <cstdio> #include <cstring> using namespa ...

  8. 洛谷P1311 选择客栈

    P1311 选择客栈 题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一 ...

  9. 洛谷 P3128 [USACO15DEC]最大流Max Flow

    题目描述 \(FJ\)给他的牛棚的\(N(2≤N≤50,000)\)个隔间之间安装了\(N-1\)根管道,隔间编号从\(1\)到\(N\).所有隔间都被管道连通了. \(FJ\)有\(K(1≤K≤10 ...

  10. 洛谷P4018 Roy&October之取石子

    题目背景 \(Roy\)和\(October\)两人在玩一个取石子的游戏. 题目描述 游戏规则是这样的:共有\(n\)个石子,两人每次都只能取\(p^k\)个(\(p\)为质数,\(k\)为自然数,且 ...