ASP.NET Core----基础学习05----将数据传递给视图文件的五种情况
创始人
2025-01-07 08:03:05
0

文章目录

      • 1. 类型一:使用ViewData将数据传递给视图文件(默认视图文件)
      • 2. 类型二:自定义选择视图文件 并传递ViewData数据
      • 3. 类型三:使用ViewBag将数据传递给视图文件
      • 4. 类型四:在视图文件中使用@model转化为强数据类型
      • 5. 类型五:使用视图模型,将某视图文件需要的所有数据归纳到一个数据模型中

1. 类型一:使用ViewData将数据传递给视图文件(默认视图文件)

step1: 创建Views/Home 文件夹 ,并创建Privacy.cshtml 文件,内容如下

在这里插入图片描述

# Privacy.cshtml   @using ASP.Net_Blank.Models;  @{ 	// 此处使用 as 是方便最终调用@stu的时候与Student类关联,最终方便读取到属性Name、ClassName等。     var stu = ViewData["Student"] as Student; }                              @ViewData["PageTitle"]                            
@stu.Name
@stu.ClassName

this is from Views/Home/Privacy.cshtml


step2: HomeController.cs 的函数如下:
在这里插入图片描述


step3: 最终显示效果如下:
在这里插入图片描述


2. 类型二:自定义选择视图文件 并传递ViewData数据

step1:参照如上步骤,创建文件夹MyViews/Home ,并创建文件Privacy.cshtml

在这里插入图片描述

@*Privacy.cshtml文件*@ @* 方式二:使用ViewData将数据传递给视图: *@   @using ASP.Net_Blank.Models;       @ViewData["PageTitle"]              @{             var student = ViewData["Student"] as Student;         }          
姓名: @student.Name
ID : @student.Id
班级: @student.ClassName

This is from MyViews/Home/Privacy.cshtml


step2: Privacy函数,只需要在View中指定具体哪个视图文件即可

在这里插入图片描述


step3: 最终显示效果如下:
在这里插入图片描述


3. 类型三:使用ViewBag将数据传递给视图文件

step1:Privacy方法中的内容

  • 此处貌似不能使用自定义的视图函数,且没传递model数据,直接在视图文件中读取@ViewBag即可

在这里插入图片描述


step2:Privacy.cshtml 文件内容
在这里插入图片描述


step3: 最终显示效果如下:

在这里插入图片描述


4. 类型四:在视图文件中使用@model转化为强数据类型


step1: 在controller中的设置:
在这里插入图片描述


step2: 视图文件中的设置:

  • 注意: 此处引用的时候使用了@model ASP.Net_Blank.Models.Student , 而页面中使用的是大写的@Model
  • 此处cshtml文件中,可自动识别Student的属性

在这里插入图片描述

自动识别Student的属性:
在这里插入图片描述


step3: 最终显示效果:
在这里插入图片描述


5. 类型五:使用视图模型,将某视图文件需要的所有数据归纳到一个数据模型中


step1: 创建文件夹ViewModels 以及文件HomeDetailsViewModel.cs

在这里插入图片描述

在这里插入图片描述


step2: HomeController.cs文件中的设置
在这里插入图片描述


step3: 视图文件中的设置
在这里插入图片描述


step4: 最终显示效果
在这里插入图片描述

相关内容

热门资讯

黑科技能赢!aapoker俱乐... 黑科技能赢!aapoker俱乐部后台可以操作(德州ai软件购买)原先真的是有挂(有人有挂)-哔哩哔哩...
黑科技ai(德州之星模拟器)外... 黑科技ai(德州之星模拟器)外挂透明挂辅助黑科技(透视)总是真的是有挂(有挂总结)-哔哩哔哩;1)德...
黑科技科技!wpk线上打法教学... 黑科技科技!wpk线上打法教学(透视)透明挂教程(2020已更新)(哔哩哔哩)在进入wpk线上打法教...
盘点几款!aapoker有猫腻... 盘点几款!aapoker有猫腻吗(黑科技)外挂透明黑科技辅助助手(真是有挂)-哔哩哔哩是一款可以让一...
黑科技游戏!云扑克德州有挂(a... 1、黑科技游戏!云扑克德州有挂(aapokerai辅助)都是是真的有挂(有挂教程)-哔哩哔哩2、进入...
黑科技模拟器(德扑之星怎么在电... 黑科技模拟器(德扑之星怎么在电脑上玩)外挂透明挂辅助助手(透视)原来存在有挂(有挂讲解)-哔哩哔哩;...
一起来探讨!wepower系统... 一起来探讨!wepower系统控制输赢吗(黑科技)外挂辅助挂辅助黑科技(有挂技巧)-哔哩哔哩;致您一...
黑科技规律!智星德州安卓版下载... 您好,微扑克如何让系统发好牌这款游戏可以开挂的,确实是有挂的,需要了解加威信【136704302】很...
黑科技工具(德扑之星的机制)外... 黑科技工具(德扑之星的机制)外挂透明挂辅助神器(透视)竟然有挂(有挂神器)-哔哩哔哩一、德扑之星的机...
黑科技线上!德扑之星ai辅助神... 黑科技线上!德扑之星ai辅助神器(wpk ai辅助)原生真的是有挂(有挂秘笈)-哔哩哔哩1、实时wp...