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. Go web开发初探

    2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在< ...

  2. C++标准库实现WAV文件读写

    在上一篇文章RIFF和WAVE音频文件格式中对WAV的文件格式做了介绍,本文将使用标准C++库实现对数据为PCM格式的WAV文件的读写操作,只使用标准C++库函数,不依赖于其他的库. WAV文件结构 ...

  3. Objective-C枚举的几种定义方式与使用

    假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...

  4. 浅谈java异常[Exception]

    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...

  5. BPM嵌入式流程解决方案分享

    一.需求分析由于企业业务的独特性或者企业高层独特的管理思想,很多客户选择了自行开发业务系统的方式来实现独有的竞争力. 这类信息系统通常经过了多年的开发,伴随着企业的发展一直在不断优化,与企业的业务非常 ...

  6. ELK分析IIS日志

      LogStash.conf input { file { type => "iis_log" path => ["C:/inetpub/logs/LogF ...

  7. 当我们在谈论kmeans(1)

    本稿为初稿,后续可能还会修改:如果转载,请务必保留源地址,非常感谢! 博客园:http://www.cnblogs.com/data-miner/ 简书:建设中... 知乎:建设中... 当我们在谈论 ...

  8. NOIP模板整理计划

    先占个坑 [update]noip结束了,弃了 一.图论 1.单源最短路 洛谷P3371 (1)spfa 已加SLF优化 #include <iostream> #include < ...

  9. Xamarin体验:使用C#开发iOS/Android应用

    Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发.   简介 Xamarin是基于Mo ...

  10. Spring cookie 实战

    测试环境搭建 使用Springboot构建web server, 在测试方法中打印接收的cookie. @RestController @RequestMapping("/register/ ...