MVC中控制器向视图传值的四种方式
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中控制器向视图传值的四种方式的更多相关文章
- .NET MVC框架中控制器接收参数的四种方式
1.通过路由中的配置的参数名字直接接收(要求:两者同名) routes.MapRoute( name: "Default", ...
- 第三节:Action向View传值的四种方式(ViewData、ViewBag、TempData、Model)
简 介 在前面的章节中,我们已经很清楚,MVC工作模型的流程,Controller中的Action接收到客户端的请求,处理后要将数据返回给View,那么Action中是如何将数据返回给View的,二 ...
- Struts2中访问web元素的四种方式
Struts2中访问web元素的四种方式如下: 通过ActionContext来访问Map类型的request.session.application对象. 通过实现RequestAware.Sess ...
- Delphi中动态创建窗体有四种方式
Delphi中动态创建窗体有四种方式,最好的方式如下: 比如在第一个窗体中调用每二个,主为第一个,第二个设为动态创建 Uses Unit2; //引用单元文件 procedure TForm1.But ...
- ASP.NET MVC Controller向View传值的几种方式
上几篇博文提到MVC和WebForm的区别,主要是MVC的Controller和View将传统的WebForm的窗体和后台代码做了解耦,这篇博文简单介绍一下在MVC中Controller向View是如 ...
- 第四节:MVC中AOP思想的体现(四种过滤器)并结合项目案例说明过滤器的实际用法
一. 简介 MVC中的过滤器可以说是MVC框架中的一种灵魂所在,它是MVC框架中AOP思想的具体体现,所以它以面向切面的形式无侵入式的作用于代码的业务逻辑,与业务逻辑代码分离,一经推出,广受开发者的喜 ...
- Action向视图传值的6种方式
在使用ASP.NET MVC进行项目开发时,经常会碰到从Action向视图传值的问题,今天我就把我所知道的方式总结了一下,分成了以下六种: 1.使用ViewData进行传值 在Action中,有如下代 ...
- Action向视图传值的6种方式(转)
在使用ASP.NET MVC进行项目开发时,经常会碰到从Action向视图传值的问题,今天我就把我所知道的方式总结了一下,分成了以下六种: 1.使用ViewData进行传值 在Action中,有如下代 ...
- MVC中提交表单的4种方式
一,MVC HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} BeginRouteForm ...
随机推荐
- Solr调研总结(很详细很全面)
Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试;两个核心配置文件介绍;维护索引;查询索引,和在 ...
- python 主要模块和方法
******************** PY核心模块方法 ******************** os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename ...
- MySQL 通用查询日志(General Query Log)
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定位mysql ...
- java高并发总结-常用于面试复习
定义: 独占锁是一种悲观保守的加锁策略,它避免了读/读冲突,如果某个只读线程获取锁,则其他读线程都只能等待,这种情况下就限制了不必要的并发性,因为读操作并不会影响数据的一致性. 共享锁则是一种乐观锁, ...
- Pthreads 信号量,路障,条件变量
▶ 使用信号量来进行线程间信息传递 ● 代码 #include <stdio.h> #include <pthread.h> #include <semaphore.h& ...
- MPI 集合通信函数 MPI_Scatterv(),MPI_Gatherv(),MPI_Allgatherv(),MPI_Alltoall(),MPI_Alltoallv(),MPI_Alltoallw()
▶ 函数 MPI_Scatterv() 和 MPI_Gatherv() .注意到函数 MPI_Scatter() 和 MPI_Gather() 只能向每个进程发送或接受相同个数的元素,如果希望各进程获 ...
- python3操作MySQL数据库
安装PyMySQL 下载地址:https://pypi.python.org/pypi/PyMySQL 1.把操作Mysql数据库封装成类,数据库和表先建好 import pymysql.cursor ...
- leetcode921
public class Solution { public int MinAddToMakeValid(string S) { Stack<char> ST = new Stack< ...
- 创建标签的两种方法insertAdjacentHTML 和 createElement 创建标签 setAttribute 赋予标签类型 appendChild 插入标签
1. 建立字符串和insertAdjacentHTML('beforeEnd', ) 2. 通过createElement 创建标签 setAttribute 赋予标签类型 appendChild ...
- c# class struct区别
一句话,前者引用类型,后者值类型,适合高性能的情况,但不可存储大数据.