0
点赞
收藏
分享

微信扫一扫

.NET MVC第三章、三种传值方式


.NET MVC第三章、三种传值方式_mvc

.NET MVC第三章、三种传值方式

目录

​​.NET MVC第三章、三种传值方式​​

​​ViewData​​

​​传递方法​​

​​前台接收​​

​​ViewData测试​​

​​ViewBag​​

​​传递方法​​

​​前台接收​​

​​ViewBag测试​​

​​TempData·支持夸函数​​

​​传递方法​​

​​前台接收​​

​​编辑TempDate测试​​

ViewData

ASP.NET MVC 5源代码中ControllerBase类中ViewData属性的定义:

public ViewDataDictionary ViewData { get; set; }

可以看到是字典类型的,属性值object类型

public class ViewDataDictionary : IDictionary<string, object>{}

传递方法

ViewData["msg"] = "key_value的方式传值";

.NET MVC第三章、三种传值方式_mvc_02

前台接收

@ViewData["msg"]

直接获取即可,很方便。

.NET MVC第三章、三种传值方式_传递数据_03

ViewData测试

可以看到后台传递过来的msg信息。

.NET MVC第三章、三种传值方式_asp.net_04

ViewBag

ViewBag对象是ASP.NET MVC 3提供的功能,它被声明为一个dynamic类型。

ASP.NET MVC 5源代码中声明如下:
dynamic类型的变量都会编译为object类型的变量。因此,dynamic类型只存在于编译时刻,而不存在于运行时刻。

​[Dynamic] public dynamic ViewBag { get; }​

传递方法

ViewBag.Info = "我是通过ViewBag传递的值";

.NET MVC第三章、三种传值方式_asp.net_05

 

前台接收

@ViewBag.Info

.NET MVC第三章、三种传值方式_asp.net_06

 

ViewBag测试

传递以及取值成功

.NET MVC第三章、三种传值方式_asp.net_07

TempData·支持夸函数

ViewData属性与ViewBag属性无法跨Action方法传递数据,当需要在多个Action方法之间传递数据时,可采用TempData属性。

ASP.NET MVC 5源代码中声明如下:

​public TempDataDictionary TempData { get; set; } ​​ TempDataDictionary类的定义如下: ​​public class TempDataDictionary: IDictionary<string, object>{} ​

注:TempData属性是将数据保存在Session中。

传递方法

TempData["cors"] = "TempData支持夸函数传参。";

为了测试夸方法,需要单独创建一个页面。 

.NET MVC第三章、三种传值方式_asp.net_08

 

页面位置

.NET MVC第三章、三种传值方式_传递数据_09

前台接收

@TempData["cors"]

.NET MVC第三章、三种传值方式_mvc_10

.NET MVC第三章、三种传值方式_mvc_11

TempDate测试

.NET MVC第三章、三种传值方式_asp.net_12

可以看到传递成功。

.NET MVC第三章、三种传值方式_传递数据_13

 

举报

相关推荐

第三章总结

第三章 Linux

第三章:文件

第三章 循环

第三章 作业

第三章、数组

0 条评论