MVC中的控制器向视图传值有四种方式分别是

1 ViewDate  2.ViewBag   3.TempDate  4.Model

下面分别介绍四种传值方式

首先先显示出控制器中的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace WebApplication1.Controllers
{
public class DefaultController : Controller
{
// GET: Default
/// <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 = "";
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,World !";
ViewData["Date"] = DateTime.Now;
return View();
}
//使用TempDate来传递数据
public ActionResult tempdates()
{
//TempData 他和viewdate的用法差不多但是他比viewdate的好处是他可以做到夸不同页面之间的传值
TempData["Message"] = "名字信息";
TempData["Age"] = "";
TempData["Hobby"] = "打篮球,打羽毛球等";
TempData["Timess"] = DateTime.Now;
return View();
}
}
}

这个是第一个控制器中的方法传递的数据

 <div> 

        @{
ViewBag.Title = "Index";
}
<h1>当前时间</h1>
<h2>@(((DateTime)Model).Date)</h2>
<h2>@(((DateTime)Model).DayOfYear)</h2><br />
</div>

resault:

当前时间

2019/4/2 0:00:00

92

1.使用ViewBag

 <div>
@{ ViewBag.Title = "Edit"}
<h1>@ViewBag.Name</h1>
<h2>@ViewBag.Name</h2>
<h2>@ViewBag.Age</h2>
<h2>@ViewBag.Hobby</h2>
<h2>@ViewBag.StrDate</h2>
</div>

resault:

名字代号
22
打篮球,打羽毛球等

2019/4/2 15:59:26

2.View Data的用法

 <div>
@{
ViewBag.Title = "Detail";
}
<h2>@ViewData["Date"]</h2>
<h2>@ViewData["Message"]</h2>
<h2>@view</h2>
</div>

resault:

hello  World

2019/4/2 15:59:26

3.TempData的用法

 <div>
@{ ViewBag.Ttle = "tempdates";} <h1>@TempData["Message"]</h1>
<h1>@TempData["Age"] = </h1>
<h1>@TempData["Hobby"] </h1>
<h1>@TempData["Timess"]</h1> </div>

resault:

名字代号
22
打篮球,打羽毛球等

2019/4/2 15:59:26

4,model的用法如果有想知道的可以联系我.

MVC中控制器向视图传值的四种方式的更多相关文章

  1. .NET MVC框架中控制器接收参数的四种方式

    1.通过路由中的配置的参数名字直接接收(要求:两者同名) routes.MapRoute(                 name: "Default",             ...

  2. 第三节:Action向View传值的四种方式(ViewData、ViewBag、TempData、Model)

    简  介 在前面的章节中,我们已经很清楚,MVC工作模型的流程,Controller中的Action接收到客户端的请求,处理后要将数据返回给View,那么Action中是如何将数据返回给View的,二 ...

  3. Struts2中访问web元素的四种方式

    Struts2中访问web元素的四种方式如下: 通过ActionContext来访问Map类型的request.session.application对象. 通过实现RequestAware.Sess ...

  4. Delphi中动态创建窗体有四种方式

    Delphi中动态创建窗体有四种方式,最好的方式如下: 比如在第一个窗体中调用每二个,主为第一个,第二个设为动态创建 Uses Unit2; //引用单元文件 procedure TForm1.But ...

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

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

  6. 第四节:MVC中AOP思想的体现(四种过滤器)并结合项目案例说明过滤器的实际用法

    一. 简介 MVC中的过滤器可以说是MVC框架中的一种灵魂所在,它是MVC框架中AOP思想的具体体现,所以它以面向切面的形式无侵入式的作用于代码的业务逻辑,与业务逻辑代码分离,一经推出,广受开发者的喜 ...

  7. Action向视图传值的6种方式

    在使用ASP.NET MVC进行项目开发时,经常会碰到从Action向视图传值的问题,今天我就把我所知道的方式总结了一下,分成了以下六种: 1.使用ViewData进行传值 在Action中,有如下代 ...

  8. Action向视图传值的6种方式(转)

    在使用ASP.NET MVC进行项目开发时,经常会碰到从Action向视图传值的问题,今天我就把我所知道的方式总结了一下,分成了以下六种: 1.使用ViewData进行传值 在Action中,有如下代 ...

  9. MVC中提交表单的4种方式

    一,MVC  HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} BeginRouteForm ...

随机推荐

  1. Carrying per-request context using the HttpRequestMessage.Properties

    In a Web API application, I use Castle Windsor to supply services configured with PerWebRequest life ...

  2. Python实现进度条总结

    先说一下文本系统的控制符:\r:   将光标移动到当前行的首位而不换行:\n:   将光标移动到下一行,并不移动到首位:\r\n: 将光标移动到下一行首位.     环境:root@ubuntu16: ...

  3. 软件测试——Peer Review

    一.什么是peer review peer review是一种通过作者的同行来确认缺陷和需要变更区域的检查方法.需要进行同行评审的特定产品在定义项目软件过程的时候被确定并且作为软件开发计划的一部分被安 ...

  4. 接口自动化(三)--读取json文件中的数据

    上篇讲到实际的请求数据放置在json文件内,这一部分记述一下python读取json文件的实现. 代码如下(代码做了简化,根据需要调优:可做一些容错处理): 1 import json 2 3 cla ...

  5. Telnet命令相关+DMZ主机+花生壳

    Win7如何解决telnet不是内部或外部命令的方案! telnet用法 测试端口号

  6. django-admin:command not found的解决办法

    django-admin:command not found的解决办法 找到django-admin的路径 绝对路径  然后用命令行运行 python3 /usr/local/python3/lib/ ...

  7. 通过 Lua 扩展 NGINX 实现的可伸缩的 Web 平台OpenResty®

    OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 W ...

  8. 27.Remove Element(Array)

    Given an array and a value, remove all instances of that value in place and return the new length. T ...

  9. ios 解决Wkwebview闪烁问题

    // 网页闪烁问题    if ([self.webView.realWebView isKindOfClass:[WKWebView class]]) {         ((WKWebView * ...

  10. springMVC框架的作用

    springMVC:是一个表现层框架 作用:就是从请求中接收传入的参数 将处理后的结果数据返回给页面展示