前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET MVC第三章、三种传值方式

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

作者头像
红目香薰
发布2022-11-30 19:14:46
5500
发布2022-11-30 19:14:46
举报
文章被收录于专栏:CSDNToQQCode

.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>{}

传递方法

代码语言:javascript
复制
ViewData["msg"] = "key_value的方式传值";

前台接收

代码语言:javascript
复制
@ViewData["msg"]

直接获取即可,很方便。

ViewData测试

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

ViewBag

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

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

代码语言:javascript
复制
[Dynamic] 
 
public dynamic ViewBag { get; }
 

传递方法

代码语言:javascript
复制
ViewBag.Info = "我是通过ViewBag传递的值";

前台接收

代码语言:javascript
复制
@ViewBag.Info

ViewBag测试

传递以及取值成功

TempData·支持夸函数

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

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

代码语言:javascript
复制
 public TempDataDictionary TempData { get; set; }

TempDataDictionary类的定义如下:

代码语言:javascript
复制
   public class TempDataDictionary: IDictionary<string, object>{}
 

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

传递方法

代码语言:javascript
复制
TempData["cors"] = "TempData支持夸函数传参。";

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

页面位置

前台接收

代码语言:javascript
复制
@TempData["cors"]

TempDate测试

可以看到传递成功。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • .NET MVC第三章、三种传值方式
  • ViewData
    • 传递方法
      • 前台接收
        • ViewData测试
        • ViewBag
          • 传递方法
            • 前台接收
              • ViewBag测试
              • TempData·支持夸函数
                • 传递方法
                  • 前台接收
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档