页面模型 PageModel
Razor页面中的程序处理方法
OnGet 和 OnGetAsync是同样的处理程序,因此不能共存,否则会报错。
视图数据 ViewData
视图数据是从页面模型向内容页面传递数据的容器。视图数据是以字符串为键的对象字典。
public class IndexModel : PageModel
{ public void OnGet()
{
ViewData["MyNumber"] = 42;
ViewData["MyString"] = "Hello World";
ViewData["MyComplexObject"] = new Book {
Title = "Sum Of All Fears",
Author = new Author { Name = "Tom Clancy" },
Price = 5.99m
};
}
}
视图数据字典自动传给内容页面,在页面中使用引用对应的键即可。
@page
@model IndexModel
@{
}
<h2>@ViewData["MyString"]</h2>
<p>The answer to everything is @ViewData["MyNumber"]</p>
对于非字符类型的值,需要在内容页面中转换为正确的类型。
@page
@model IndexModel
@{
var book = (Book)ViewData["MyConplexObject"];
} <h2>@book.Title</h2>
<p>@book.Author.Name</p>
<p>@book.Price</p>
视图数据ViewData的属性
从ASP.NET Core 2.1版本开始引入ViewData属性,属性会自动添加到ViewData字典中。
public class IndexModel : PageModel
{
[ViewData]
public string Message { get; set; } public void OnGet()
{
Message = "Hello World";
}
}
在内容页面中可以通过Model的属性或ViewData字典两种方式获取Message的值。
@page
@model IndexModel
@{
} <h2>@ViewData["Message"]</h2>
<h2>@Model.Message</h2>
Razor页面中的ViewBag
ViewBag 是ViewData的一个包装器,提供方位ViewData数据的一个替代方法。在页面模型中故意设计的不包含ViewBag属性,但可以使用ViewBag去获取ViewData对象:
@page
@model IndexModel
@{
ViewBag.Title = "My Home Page";
}
可通过ViewData 或者 ViewBag 读取数据:
<title>@ViewBag.Title</title>
<title>@ViewData["Title"]</title>
Razor页面中的动作结果
Action Results 通常是处理方法的返回类型,她负责生成response及适当的状态码。Action Results 实现 Microsoft.AspNetCore.Mvc.ActionResult 类 或 Microsoft.AspNetCore.Mvc.IActionResult 接口。ASP.NET Core 包含超过30个 ActionResult 类以满足各样的需求。
页面模型 PageModel的更多相关文章
- 移动设备和SharePoint 2013 - 第2部分:设备管道和SharePoint页面模型
博客地址:http://blog.csdn.net/foxdave 原文地址 在该系列文章中,作者展示了SharePoint 2013最显著的新功能概观--对移动设备的支持. 该系列文章: 移动设备和 ...
- Web Pages(单页面模型)
.NET 是一套框架,用来个HTML.JS.CSS和服务器端脚本构建网页和网站. 可以有三种开发模式:Web Pages(单页面模型).MVC(模型视图控制器).Web Forms(事件驱动模型) W ...
- Webdriver的设计模式:Page Object(页面模型)
设计思想:面向对象,将单个页面所有可能用到元素封装到一个page类中,并提供一些常用的方法,其属性就代表页面元素,普通方法代表对元素所做的操作 以博客园的登录页面为例: import org.open ...
- ASP.NET Core Razor页面禁用防伪令牌验证
在这篇短文中,我将向您介绍如何ASP.NET Core Razor页面中禁用防伪令牌验证. Razor页面是ASP.NET Core 2.0中增加的一个页面控制器框架,用于构建动态的.数据驱动的网站: ...
- [转] 微信小程序页面间通信的5种方式
微信小程序页面间通的5种方式 PageModel(页面模型)对小程序而言是很重要的一个概念,从app.json中也可以看到,小程序就是由一个个页面组成的. 如上图,这是一个常见结构的小程序:首页是一个 ...
- asp.net core中的razor页面
Razor 页面(Razor Pages)是 ASP.NET Core 2.0 中新增的一种Web页面模型,相对MVC形式更加简单易用,可以说是一个服务端的MVVM模型,本文简单的介绍一下它的用法. ...
- 如何在ASP.NET Core 2.0中使用Razor页面
如何在ASP.NET Core 2.0中使用Razor页面 DotNetCore2017-11-22 14:49 问题 如何在ASP.NET Core 2.0中使用Razor页面 解 创建一个空的项 ...
- ASP.NET CORE RAZOR :将文件上传至 ASP.NET Core 中的 Razor 页面
本部分演示使用 Razor 页面上传文件. 本教程中的 Razor 页面 Movie 示例应用使用简单的模型绑定上传文件,非常适合上传小型文件. 有关流式传输大文件的信息,请参阅通过流式传输上传大文件 ...
- 创建基于ASP.NET core 3.1 的RazorPagesMovie项目(三)-已搭建基架的Razor页面解释和更新
本节主要介绍在上一节中通过搭建基架而创建的Razor页面,并做一些UI改变. 一.创建.删除.详细信息和编辑页面 1.双击Pages/Movies/Index.cshtml.cs文件,这是一个Razo ...
随机推荐
- php 扩展kafka
一.安装librdkafka cd /usr/local/src/ git clone https://github.com/edenhill/librdkafka.git cd librdkafka ...
- 6-x2 echo命令:将指定字符串输出到 STDOUT
echo 用法 常用转义符 echo 用法 echo 用来在终端输出字符串,并在最后默认加上换行符. echo 加上-n参数可以使数据字符串后不再换行 echo 加上-e参数可以解析转义字符 ...
- WUSTCTF2020 funnyre
运行起来,发现啥都没反应也没输出,ida直接打开,反编译 .init函数动调了下,发现没啥用,主要核心在于main函数,直接跟进去 发现了核心逻辑,有花指令,直接去掉,发现还挺多,然后似乎不影响观看, ...
- 第九章 身体质量指数BMI的python实现
身体质量指数BMI:对身体质量的刻画(Body Mass Index) 国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析 定义: BMI=体重(kg)/身高^2(m2) 提出问题: 实例 ...
- 章节1-Grafana Dashboard的简单应用(2)
目录 使用Grafana创建可视化Dashboard 1. Add data sources - Prometheus 2. 导入 Dashboard 模板 2.1 Node Exporter for ...
- 关于kong | API Gateway
目录 为什么需要 API 网关(more) kong的概念 为什么使用Kong Kong 的管理方式 高可扩展性的背后-插件机制 [前言]: Kong是一个云原生,高效,可扩展的分布式 API 网关. ...
- 【剑指offer】73.数组中出现次数超过一半的数字
73.数组中出现次数超过一半的数字 知识点:数组:哈希:占领地思想: 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4 ...
- CF404D-DP【成就达成】
CF404D-DP 正经的东西 题意 给定一个字符串,只包含'0','1','2','*','?'五种字符,其中'?'可被替换为其他任何一种,求使序列符合扫雷地图定义的方案数. 一个数字字符大小表示与 ...
- 【洛谷P1507 NASA的食物计划】动态规划
分析 二维费用背包模板 AC代码 #include <bits/stdc++.h> using namespace std; const int Maxn=505; int a[Maxn] ...
- Linux上常用插件的一些命令
Linux上关于jdk tomcat MySQL dubbo等的一些启动,结束,查看状态的命名. 1.tomcat 运行tomcat cd bin/ 进入tomcat 的bin 文件夹,直接运行: . ...