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

asp.net core mvc之 视图

一、在控制器中找到匹配视图,然后渲染成 HTML 代码返回给用户

public class HomeController : Controller
{public IActionResult Index(){return View(); //默认找 Views/Home/Index.cshtml ,呈现给用户}
}

二、指定视图

1、控制器

public class HomeController : Controller
{public IActionResult Index(){return View("~/Views/Home/abc.cshtml");}
}

视图有它自己的语法,这个语法就是 Razor语法

2、abc.cshtml 视图

@{string str = "字符串";
}<h1>abc</h1>
<h3>@str</h3>

 三、控制器给视图传递数据(强类型)

1、UserController 控制器 中  DoRegister 方法

public class UserController : Controller
{public IActionResult DoRegister(UserInfo userInfo){if (ModelState.IsValid){return View("~/Views/User/Detail.cshtml",userInfo);}         }
}

2、创建  Detail.cshtml 视图

@model FirstCoreMvc.Models.UserInfo<h1>@Model.Name</h1>

四、控制器给视图传递数据(弱类型)

1、ViewData["键"]

HomeController.cs 控制器
public class HomeController : Controller
{public IActionResult Index(){var currentUser = new UserInfo() { Name="xiaoxiao",Password="1234"};ViewData["currentuser"] = currentUser;return View(); //默认找 Views/Home/Index.cshtml ,呈现给用户}
}
视图使用
@{var currentUser = ViewData["currentuser"] as UserInfo;
}
<h1>@currentUser.Name</h1>

也可以在视图( Views/Home/Index.cshtml )中定义 @{ ViewData["Title"] = "Home Page"; } 在_Layout.cshtml 布局页面中使用。

 2.ViewBag.键

控制器 如下:

ViewBag.currentTime = DateTime.Now.ToShortTimeString();

ViewBag.xiaowang= new UserInfo() { Name = "小王", Password = "1234" };

视图 如下:

<h1>@ViewData["currentTime"]</h1>
<h1>@ViewBag.currentTime</h1>

<h1>@ViewBag.xiaowang.Name</h1>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【 云原生 | K8S 】kubectl 详解
  • ChatGPT Plus的Vision升级是一个改变游戏规则的创举
  • 比较PID控制和神经网络控制在机器人臂上的应用
  • Facebook广告被暂停是什么原因?广告账号被封怎么办?
  • 利用 Google Artifact Repository 构建maven jar 存储仓库
  • Android从一个APP跳转到另外一个APP
  • 【C++对象模型】构造函数
  • 【算法练习Day44】最长递增子序列最长连续递增序列最长重复子数组
  • 视频编软件会声会影2024中文版功能介绍
  • 为什么我一直是机器视觉调机仔,为什么一定要学一门高级语言编程?
  • ChatGPT、GPT-4 Turbo接口调用
  • 软考 系统架构设计师系列知识点之边缘计算(4)
  • 从开源项目聊鱼眼相机的“360全景拼接”
  • 说说你对React Router的理解?常用的Router组件有哪些?
  • 【poi导出excel模板——通过建造者模式+策略模式+函数式接口实现】
  • 【comparator, comparable】小总结
  • Facebook AccountKit 接入的坑点
  • gcc介绍及安装
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • leetcode388. Longest Absolute File Path
  • mongodb--安装和初步使用教程
  • Python语法速览与机器学习开发环境搭建
  • Spark学习笔记之相关记录
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 欢迎参加第二届中国游戏开发者大会
  • 聚簇索引和非聚簇索引
  • 聊聊redis的数据结构的应用
  • 一道面试题引发的“血案”
  • 一个完整Java Web项目背后的密码
  • 最近的计划
  • 湖北分布式智能数据采集方法有哪些?
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (11)MSP430F5529 定时器B
  • (4) PIVOT 和 UPIVOT 的使用
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (含笔试题)深度解析数据在内存中的存储
  • (四)Android布局类型(线性布局LinearLayout)
  • (四)linux文件内容查看
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .net FrameWork简介,数组,枚举
  • .NET Reactor简单使用教程
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .net开发日常笔记(持续更新)
  • .so文件(linux系统)
  • @SentinelResource详解
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [000-01-022].第06节:RabbitMQ中的交换机介绍