当前位置: 首页 > news >正文

ASP.NET Core----基础学习05----将数据传递给视图文件的五种情况

文章目录

      • 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;
}<!DOCTYPE html><html><head><title>@ViewData["PageTitle"]</title></head><body><div>@stu.Name</div><div>@stu.ClassName</div><h3>this is from Views/Home/Privacy.cshtml</h3></body></html>

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


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


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

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

在这里插入图片描述

@*Privacy.cshtml文件*@
@* 方式二:使用ViewData将数据传递给视图: *@@using ASP.Net_Blank.Models;<html xmlns="http://www.w3.org/1999/xhtml"><head><title>@ViewData["PageTitle"]</title></head><body>@{var student = ViewData["Student"] as Student;}<div>姓名: @student.Name</div><div>ID : @student.Id</div><div>班级: @student.ClassName</div><h3>This is from MyViews/Home/Privacy.cshtml</h3></body>
</html>

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: 最终显示效果
在这里插入图片描述

相关文章:

ASP.NET Core----基础学习05----将数据传递给视图文件的五种情况

文章目录 1. 类型一&#xff1a;使用ViewData将数据传递给视图文件&#xff08;默认视图文件&#xff09;2. 类型二&#xff1a;自定义选择视图文件 并传递ViewData数据3. 类型三&#xff1a;使用ViewBag将数据传递给视图文件4. 类型四&#xff1a;在视图文件中使用model转化为…...

Flutter实现局部刷新的几种方式

目录 前言 1.局部刷新的重要性 1.概念 2.重要性 2.局部刷新实现的几种方式 1.使用setState方法进行局部刷新 2.使用StatefulWidget和InheritedWidget局部刷新UI 3.ValueNotifier和ValueListenableBuilder 4.StreamBuilder 5.Provider 6.GetX 7.使用GlobalKey 前言 …...

力扣题解(回文子串)

647. 回文子串 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 思路&#xff1a; 首先&#xff0c;本题要求的是数目&#xff0c;而且不要求没…...

对数的基本概念

概念 在数学中&#xff0c;对数是对求幂的逆运算&#xff0c;正如除法是乘法的倒数&#xff0c;反之亦然。这意味着一个数字的对数是必须产生过另一个固定数字(基数)的指数 如果a的x次方等于N&#xff08;a > 0, 且a不等于1&#xff09;&#xff0c;那么数x叫做以a为底N的…...

C双指针滑动窗口算法

这也许是双指针技巧的最⾼境界了&#xff0c;如果掌握了此算法&#xff0c;可以解决⼀⼤类⼦字符串匹配的问题 原理 1、我们在字符串 S 中使⽤双指针中的左右指针技巧&#xff0c;初始化 left right 0&#xff0c;把索引闭区间 [left, right] 称为⼀个「窗⼝」。 2、我们先…...

WPF学习(6) -- WPF命令和通知

一 、WPF命令 1.ICommand代码 创建一个文件夹和文件 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input;namespace 学习.Command {public class MyCommand : ICommand{Acti…...

升级到LVGL9的一些变化(后续发现再补充)

目录 一、主要内容 二、新增内容 三、常规API变化 四、Display API(显示API) 五、其他 最近在将LVGL8的demo代码升级到LVGL9,带来不小的变化 ,收集网上的一些内容,整理如下: 一、主要内容 二、新增内容 三、常规API变化 四、Display API(显示API)...

当在多线程环境中使用 C++进行编程时,怎样确保线程安全以及如何处理线程之间的同步和通信?

在C中确保线程安全性和处理线程之间的同步和通信有多种方法。下面是一些常用的技术和技巧&#xff1a; 互斥锁&#xff1a;使用互斥锁可以确保只有一个线程可以访问共享资源。在访问共享资源之前获取锁&#xff0c;在完成后释放锁。这可以防止多个线程同时访问同一份数据&#…...

博物馆地图导航系统:高精度地图引擎与AR/VR融合,实现博物馆数字化转型

在人民日益追求精神文化的时代下&#xff0c;博物馆作为传承与展示人类文明的璀璨殿堂&#xff0c;其重要性不言而喻。然而&#xff0c;随着博物馆规模的不断扩大和藏品种类的日益丰富&#xff0c;游客在享受知识盛宴的同时&#xff0c;也面临着“迷路”与“错过”的困扰。博物…...

liunx作业笔记1

一、选择题&#xff08;每小题2分&#xff0c;共20分&#xff09; 1、下列变量命名为Shell中无效变量名的是&#xff08; D &#xff09; A、v_ar1 B、var1 C、_var D、*var 变量名以字母开头&#xff0c;包含下划线和数字。 2、关于expr命令的使用下列命令中得数不等于…...

大话C语言:第31篇 指针和数组的关系

数组在内存中是连续存放的&#xff0c;其名称代表了数组首元素的首地址&#xff0c;该地址是常量&#xff0c; 也就是一个指向数组首元素的指针。因此&#xff0c;指针和数组有着密切的关系&#xff1a; 可以使用指针来访问和操作数组中的元素。通过指针的算术运算&#xff0c;…...

Mysql-索引应用

目录 索引应用 MySQL有哪些索引? 普通索引和唯一索引有什么区别? 哪个更新性能更好? 、 聚簇索引的主键索引怎么设置? 追问:假如你不设置会怎么样? 我们一般选择什么样的字段来建立索引? 索引越多越好吗? 索引怎么优化? &#xff08;覆盖索引优化、防止索引失效、…...

Facebook 开源计算机视觉 (CV) 和 增强现实 (AR) 框架 Ocean

Ocean 是一个独立于平台的框架&#xff0c;支持所有主要操作系统&#xff0c;包括 iOS、Android、Quest、macOS、Windows 和 Linux。它旨在彻底改变计算机视觉和混合现实应用程序的开发。 Ocean 主要使用 C 编写&#xff0c;包括计算机视觉、几何、媒体处理、网络和渲染&#x…...

【接口自动化_13课_接口自动化总结】

一、自我介绍 二、项目介绍 自己的职责、项目流程 1&#xff09;功能测试&#xff0c;怎么设计用例的--测试策略 2&#xff09;功能测试为什么还有代码实现&#xff0c;能用工具实现&#xff0c;为什么还用代码实现。 基本情况 项目名称:项目类型&#xff1a;项目测试人员…...

安防管理平台LntonCVS视频汇聚融合云平台智慧火电厂安全生产管理应用方案

中国的电力产业作为国民经济发展的重要能源支柱&#xff0c;被视为国民经济的基础产业之一。目前&#xff0c;我国主要依赖火力发电&#xff0c;主要燃料包括煤炭、石油和天然气等&#xff0c;通过燃烧转化为动能&#xff0c;再转变为电能输送至全国各地。火力发电量占全国发电…...

【Web性能优化】在Vue项目中使用defer优化白屏,秒加载!

历史小剧场 相对而言&#xff0c;流芳千古的钱谦益先生&#xff0c;就有点儿区别了&#xff0c;除了家产外&#xff0c;也很能挣钱&#xff08;怎么来的就别说了&#xff09;&#xff0c;经常出没红灯区&#xff0c;六十岁多了&#xff0c;还娶了柳如是&#xff0c;明朝亡时&am…...

springboot上传图片

前端的name的值必须要和后端的MultipartFile 形参名一致 存储本地...

python入门:python及PyCharm安装

前言 我们将详细介绍如何在系统上安装Python及使用PyCharm创建项目的具体流程。Python是一种广泛应用的编程语言&#xff0c;其简单易学的特点使其成为初学者的首选。而PyCharm则是一个功能强大的Python IDE&#xff0c;可以极大地提高开发效率。通过本文&#xff0c;你将学会…...

链接追踪系列-04.linux服务器docker安装elk

[rootVM-24-17-centos ~]# cat /proc/sys/vm/max_map_count 65530 [rootVM-24-17-centos ~]# sysctl -w vm.max_map_count262144 vm.max_map_count 262144 #先创建出相应目录&#xff1a;/opt/dockerV/es/…docker run -e ES_JAVA_OPTS"-Xms512m -Xmx512m" -d -p 92…...

深入探讨微服务架构设计模式与常见实践

深入探讨微服务架构设计模式与常见实践 引言 在现代软件开发中&#xff0c;微服务架构因其灵活性和可扩展性被广泛采用。本文将深入探讨微服务架构的设计理念和常见模式&#xff0c;详细介绍每个模式的实现方法&#xff0c;并分别提供适用于Ubuntu和CentOS的具体命令和代码示…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...