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 传值的更多相关文章

  1. Mvc传值

    提到Mvc传值我想大多数人想到的是ViewBag,自3.0之后在控制器与视图之间传值绝大多数传值用到的对象就是ViewBag.对于笔者以前做过的一些小的项目,貌似不需要考虑什么,但对于稍微大些的项目涉 ...

  2. MVC传值汇总

     方法一: Url传参是通过Get的方式,一般我们都是通过一定规则的Url来传参.比如下面的URL. http://localhost/contorller/action/?Params1=a& ...

  3. Core Mvc传值Query、Form、Cookies、Session、TempData、Cache

    1.传值方法 使用Request的方法(1-3): 1)Query:获取链接?后面的值 如:http://localhost:55842/Home/About?name=kxy public IAct ...

  4. ASP.NET MVC 传值方法ViewData与ViewBag的区别

    一.介绍 在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag 它是Key/Value字典集合 它是dynamic类 ...

  5. MVC传值方式及优缺点

    说在前面文章转自 http://www.cxyclub.cn/n/49493/ 在MVC控件器传递多个Model到视图,使用ViewData,ViewBag,部分视图,TempData,ViewMod ...

  6. Core Mvc传值ViewData、ViewBag和return view(model)

    先定义一个Model类Student namespace Lession.Models { public class Student { public string Name { get; set; ...

  7. asp.net mvc 传值

    视图的查找 asp.net MVC 不需要用using 释放资源

  8. Spring MVC传值乱码解决

    在web.xml中进行配置,加入以下代码: <!-- 乱码解决 --> <filter> <filter-name>characterEncodingFilter& ...

  9. MVC传值前台

    ViewBag.model = bLL.GetModel((int)id); ViewBag.RecruitmentTime = ViewBag.model.RecruitmentTime.ToStr ...

随机推荐

  1. 使用cmake自动构建工程

    公司引擎是用cmake根据目标平台来构建工程的,刚接触的时候深深体会到cmake的方便:如果目标平台是windows,它可以帮你自动构建出vs工程:如果是安卓,自动构建出eclipse工程,如果是IO ...

  2. 设计模式之行为类模式大PK

                                        行为类模式大PK 行为类模式包括责任链模式.命令模式.解释器模式.迭代器模式.中介者模式.备忘录模式.观察者模式.状态模式.策略 ...

  3. npm 使用小结

    本文内容基于 npm 4.0.5 概述 npm (node package manager),即 node 包管理器.这里的 node 包就是指各种 javascript 库. npm 是随同 Nod ...

  4. iOS微信第三方登录实现

    iOS微信第三方登录实现   一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统.在进行微信OAuth2.0授权登录接入之前,在微信开 ...

  5. Android 添加ActionBar Buttons

    一.在res/menu文件夹下创建Xml文件 跟标签为menu,设置item <?xml version="1.0" encoding="utf-8"?& ...

  6. 编译器开发系列--Ocelot语言3.类型名称的消解

    "类型名称的消解"即类型的消解.类型名称由TypeRef 对象表示,类型由Type 对象表示.类型名称的消解就是将TypeRef 对象转换为Type 对象. TypeResolve ...

  7. CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法

    CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法 sed -n '/2016-11-02 15:00:/,/2016-11-02 15:05:/p' catalina.out > ...

  8. Atiti.大企业病与小企业病 大公司病与小公司病

    Atiti.大企业病与小企业病 大公司病与小公司病 1. 大企业病,一般会符合机构臃肿 .多重领导 .人才流失的特点.1 2. 大企业病避免方法1 3. 小企业病 1 3.1.1. 表现1 4. 如何 ...

  9. PHP安装

    工具 http://www.cnblogs.com/xiwang6428/p/4315049.html http://www.iteye.com/news/22672 1 安装:sudo apt-ge ...

  10. MEF学习

    一.   什么是MEF MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库. 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置. 扩 ...