首先创建一个MVC的项目,其中需要一个控制器(TestController),三个视图(index,edit,detail)

1、项目结构如下:

2、控制器向视图传值的三种方法

1)提供视图模型对象(直接把对象放在View里面)

2)通过VewBag传递数据

3)通过ViewData传递数据

3、控制器源码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVCTest.Controllers
{
    public class TestController : Controller
    {  
        /// <summary>
        /// 1、提供视图模型对象
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            DateTime date = DateTime.Now;
            //一个对象作为View方法的参数传递给视图
            return View(date);
        }
        /// <summary>
        /// 2、使用ViewBag(视图包)传递数据
        /// </summary>
        /// <returns></returns>
        public ActionResult Edit() {
            //ViewBag 允许在一个动态的对象上定义任意属性,并在视图中访问它.这个动态的对象可以通过Controller.ViewBag属性访问它.
            ViewBag.Name = "及时雨";
            ViewBag.Age = "21";
            ViewBag.Hobby = "打篮球,看书等";
            ViewBag.StrDate = DateTime.Now;
            return View();
        }
        /// <summary>
        /// 3、 使用View Data传递数据
        /// </summary>
        /// <returns></returns>
        public ActionResult Detail() {
            //在MVC3.0之前,主要是通过这种方式传递数据,它是通过用 ViewDataDictionary类实现的,而不是动态的对象.
            //ViewDataDictionary类是类似标准"键/值"集合,并通过Controller类的ViewData属性进行访问的.这个方法,在视图中需要对对象进行转换.
            ViewData["Message"] = "Hello,EveryOne!";
            ViewData["Date"] = DateTime.Now;
            return View();
        }
    }
}

4、视图的调用

1)index视图

2)edit视图

3)detail视图

5、页面的显示效果

1)index页面

2)edit页面

3)detail页面

Ps: 视图向控制器传值,一般是通过ajax请求控制器的方法,请求是将参数带到控制器方法参数里面

MVC控制器向View视图传值的三种方法的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. View -->Controller传值的几种方法

    1.参数名称必须和表单的name是一致的. //参数的名称需要和表单的字段名称一致,这样系统便会直接赋值. public ActionResult GetUserInfo(string usernam ...

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

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

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

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

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

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

随机推荐

  1. iOS开发——项目实战总结&经典错误一

    经典错误一 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7, VA 运行报错 出现的原因:armv7s ...

  2. win2008远程桌面会话数增加

    1.[解决]由于没有远程桌面授权服务器可以提供许可证,远程回话被中断 你看到的这个文章来自于http://www.cnblogs.com/ayanmw 由于windows server 2008 R2 ...

  3. MassTransit_契约的创建

    消息契约的命名规范 命令模式:动词+对象 事件模式:对象+动词 不同模式下要求不同的主键 Creating a message contract In MassTransit, a message c ...

  4. WebDriver基本API使用手册(基于Java和C#)

    WebDriver基本API使用手册(基于Java和C#) http://www.docin.com/p-747728551.html

  5. Unity Remote 4安卓机使用指南

    必须U3D版本为4.5以上,可以在Public目录下载.想实时调试IOS版本必须是MAC系统! 优点:可以在不编译的情况下实时的去调试真实Android设备的各种情况,包括使用触摸功能(Remote接 ...

  6. 超时时间已到。在操作完成之前超时时间已过或服务器未响应。 (.Net SqlClient Data Provider)

    超时时间已到.在操作完成之前超时时间已过或服务器未响应. (.Net SqlClient Data Provider) 在做一个小东西的时候出现了这个问题,就是使用VS调试几次项目后,使用SQL Se ...

  7. FastReport.Net在Rozor中的应用

    Webconfig中配置 IIS6.0 <system.web> <httpHandlers> 下增加 <httpHandlers> <add path=&q ...

  8. 【转】Oracle RAC 环境下的连接管理

    文章转自:http://www.oracle.com/technetwork/cn/articles/database-performance/oracle-rac-connection-mgmt-1 ...

  9. IEEEtran模版中添加中文:\usepackage{CJKutf8}

    \documentclass[conference]{IEEEtran} \usepackage{cite} \usepackage{graphicx} \usepackage{CJKutf8} \b ...

  10. SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码

    在SpringMVC学习系列(6) 之 数据验证中我们已经学习了如何结合Hibernate-validator进行后台的数据合法性验证,但是通常来说后台验证只是第二道保险,为了更好的用户体验会现在前端 ...