首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Razor Pages:不能从OnGet()到OnPost()的值

Razor Pages是ASP.NET Core中的一种页面编程模型,用于构建Web应用程序。它提供了一种简单且直观的方式来创建动态的Web页面,同时也支持处理表单提交和处理用户输入。

在Razor Pages中,OnGet()和OnPost()是两个常用的处理方法。OnGet()方法用于处理HTTP GET请求,而OnPost()方法用于处理HTTP POST请求。通常情况下,我们可以在OnGet()方法中获取页面初始化所需的数据,并将其呈现给用户。而在OnPost()方法中,我们可以处理表单提交的数据,并执行相应的操作。

然而,Razor Pages默认情况下不会自动将OnGet()方法中的值传递到OnPost()方法中。这是因为HTTP是无状态的,每个请求都是独立的,Razor Pages无法自动将两个请求之间的数据进行关联。

如果需要在OnGet()方法中获取的值在OnPost()方法中使用,可以通过以下几种方式实现:

  1. 使用隐藏字段(Hidden Field):在页面的HTML表单中添加一个隐藏字段,将OnGet()方法中的值存储在隐藏字段中,然后在OnPost()方法中通过表单提交的数据获取隐藏字段的值。
  2. 使用会话(Session):将OnGet()方法中的值存储在会话中,然后在OnPost()方法中从会话中获取值。ASP.NET Core提供了Session对象来管理会话数据。
  3. 使用临时数据(TempData):将OnGet()方法中的值存储在临时数据中,然后在OnPost()方法中从临时数据中获取值。临时数据在处理完请求后会自动清除。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • ASP.NET Core Razor Pages 初探

    后来才发现这是ASP.NET Core框架新推出Razor Pages技术。 什么是Razor PagesRazor Pages 使编码更加简单更加富有生产力”这是微软说==!。...下面使用一个标准CRUD示例来演示Razor Pages开发,并且简单探索一下它是如何工作。...方法通过特殊前缀来跟前端请求做绑定,比如OnGet方法就是对Get请求作出响应,OnPost则是对Post请求作出响应。 运行一下并且访问/student/list: ?...asp-for会把关联属性字段作为input元素value,会把关联属性名+字段名称作为input元素name属性。...总结 通过上简单示例,对Razor Pages有了大概了解。Razor Pages本质上对MVC模式简化,后台模型聚合了Controller跟Model概念。

    2K20

    如何ASP.NET Core Razor中处理Ajax请求

    先来给大家简单介绍下Razor Razor Pages是ASP.NET Core一项新功能,可以使编页面的编程方案更简单,更高效。...Razor Pages遵循特定命名约定,Handler方法也是如此。...他们也遵循特定命名约定,并与“On”前缀:和HTTP动词一样OnGet(),OnPost()等处理方法也有异步版本:OnGetAsync(),OnPostAsync()等。...介绍完Razor,直接上图 功能很简单,就是个登录。用户点击"登录按钮"后利用Jquery获取文本框,异步提交到服务器。很简单功能,相信大家都写过很多次了。啪啪啪几下代码就撸出来了。...所以,修改后Ajax请求看起来像这个样子: 改良后代码在发送请求前在请求头中增加了"XSRF-TOKEN"标识,为表单自动生成防伪标记。

    1.9K90

    razorpages_rabeprazole

    打开cmd或者powershell工具,先检查下你dotnet 版本是否为2.0.0 dotnet –version 用Visual Studio 创建是非常方便(宇宙最强IDE),不过我们必须要先升级...上文中我们说到,Razor Page项目中,我们关注点都在Pages目录下,在VS Explore中,我们看到在Index.cshtml左边有一个三角箭头,点击就会看到Index.cshtml.cs...比如OnGet,它会在Get Index时候被执行,我们可以通过这个约定进行数据绑定,这里知道下在Razor Page下HttpMethod也是一个handler,所以Razor Page处理方式是通过...’/’访问也可以通过’/Home/’ 访问,这其实有歧义,为了避免这种情况,我们必须去修改Route,非常不方便,而现在,我们只需要在Pages主目录下创建相应Action就可以了,微软提供了Razor...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    59420

    Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page

    跟之前mvc不同是,我们不再看到model,view,controller目录了,取而代之Pages目录,这个就是我们razor Page主要工作目录。...Visual Studio 2017创建Razor Page 用Visual Studio 2017创建是非常方便(宇宙最强IDE),不过我们必须要先升级15.3,升级之后选择新建项目->.Net...上文中我们说到,Razor Page项目中,我们关注点都在Pages目录下,在VS Explore中,我们看到在Index.cshtml左边有一个三角箭头,点击就会看到Index.cshtml.cs...是不是很方便,一般我们web基本上百分之八十在Get和Post,特别情况会出现其他HttpMethod,当然我们RazorPage也支持,不过建议。...’/’访问也可以通过’/Home/’ 访问,这其实有歧义,为了避免这种情况,我们必须去修改Route,非常不方便,而现在,我们只需要在Pages主目录下创建相应Action就可以了,微软提供了Razor

    2K60

    .NET Core 学习资料精选:入门

    可测试性 7.微服务、容器化支持 8.标准化 .NET API 规范- .NET STANDARD #、迁移到.NET Core 目前市面上还存在很多传统 .NET 旧项目,我们需要根据公司情况决定是否升级.....Net 配置指北(配置类自动映射) 路由、模型绑定 ASP.NET Core WebAPI中,Controller标注 [ApiController] 特性,其路由只能使用[route]特性方式...ASP.NET Core:MVC 与 Razor Pages ASP.NET Core SignalR 入门 ASP.NET Core MVC 静态文件目录配置与访问授权 新 Razor 机制 ASP.NET...Core Razor SDK ASP.NET Core Razor 语法参考 ASP.NET Core 中 Razor 页面介绍(OnGetOnPost、单页多Handler方式) ASP.NET...& MVC & Razor Pages [译]ASP.NET:WebForms vs MVC ASP.NET Core Razor页面 vs MVC [译]ASP.Net Core 2.0中Razor

    3.8K20

    ASP.NET Core教程【二】从保存数据看Razor Page特有属性与服务端验证

    ">RazorPagesMovie 这段代码中用到asp-page这样一个特有属性,这是razor page特有的, 这是一个锚点属性,它将被编译a标签href属性上; 跟多时候,我们会像下面这样使用锚点属性.../Index"); } }} 一般我们在OnGet方法中初始化页面需要状态数据; 这个页面没有状态数据需要初始化,所以我们就不用做任何事情 Page()方法返回一个PageResult...对象,该对象负责渲染这个页面; Movie属性被标记了BindProperty标记,说明它是一个“模型绑定”对象; 当表单提交过来时候,asp.net core负责把表单提交数据,绑定这个对象上;...表单提交之后,OnPostAsync方法被执行, 如果提交数据,在绑定Movie对象过程中,产生了异常,那么Page方法会被重新执行,等于刷新了一遍页面; 大部分数据验证工作是在客户端通过JS...完成 但是我们也不能完全依赖JS(防止模拟浏览器,恶意提交) 客户端提交上来了一个表单域是一个日期字符串,在绑定对象属性时候,可能产生异常,如果产生了异常,ModelState.IsValid就非真

    1.6K50

    ASP.NET Core 一行代码搞定文件上传

    虽然文件上传过程看似简单,但在实际开发中,涉及安全性、性能和用户友好性等问题都需要特别关注。本文将探讨如何在ASP.NET Core中以一行代码实现文件上传功能,并附带示例和深入分析。...我们将使用IFormFile接口,它表示上传文件。接下来,我们将一步步实现文件上传功能。1. 创建上传视图在Pages文件夹中,创建一个新Razor页面,命名为Upload.cshtml。...创建模型在Pages文件夹中,创建一个名为Upload.cshtml.csC#文件,定义文件上传逻辑。...} UploadedFileName = File.FileName; } }}在上面的代码中,我们通过[BindProperty]将上传文件绑定...在OnPost方法中,我们可以直接使用LINQ表达式处理文件上传。

    500

    如何利用SerilogRequestLogging来精简ASP.NET Core日志输出

    原生请求日志 在本节中,首先让我们创建一个标准ASP.NET Core 3.0Razor pages应用,当然你也可以直接使用dotnet new webapp命令来进行创建。...Executing page /Index [13:30:27 INF] Executing handler method SerilogRequestLogging.Pages.IndexModel.OnGet...Executing page /Index [14:15:45 INF] Executing handler method SerilogRequestLogging.Pages.IndexModel.OnGet...显示持续时间略短于Kestrel在后续消息中记录。这是可以预期,因为Serilog仅在请求到达其中间件时才开始计时,而在返回时停止计时(在生成响应之后)。...在这两种情况下,使用结构日志记录时都会记录其他。例如,记录了RequestId和SpanId(用于跟踪功能),因为它们是日志记录范围一部分。您可以在登录到seq请求以下图像中看到这一点。

    1.6K10

    如何使用Serilog.AspNetCore记录ASP.NET Core3.0MVC属性

    ASP.NET Core团队一直在努力将更多MVC特定功能(例如模型绑定或操作结果)从MVC中移除,然后“下推”核心框架中。...这也仅适用于在HttpContext可用。在这篇文章中,我将展示如何在过滤器中使用IDiagnosticContext,以及将MVC特定添加到日志中。...我方法可以改用构造函数注入,但是建议将其用作属性,因此必须如上所述全局使用。而且,MVC将在我实现中使用作用域生存期,而不是单例,因此它会在每个请求中创建一个新实例。...如果要为选择给定Razor页面记录HandlerName,则需要创建一个自定义IPageFilter。 页面过滤器直接类似于Action过滤器,但它们仅适用于Razor页面。...代码不会在Razor Pages上运行,因此,如果您也想记录RazorPages RouteData或ValidationStateRazorPages其他详细信息,则也需要在此处添加它。

    3.6K10

    【愚公系列】2023年01月 Dapr分布式应用运行时-多容器微服务使用Dapr

    MyFrontEnd,将你解决方案命名为 DaprMultiContainer: 3、在最后一个对话框中,保留默认。...因此,请清除“为 HTTPS 配置”复选框: 2.添加 Dapr 服务调用 使用 Dapr 服务调用构建块配置服务之间通信。 使 Web 应用能从 Web API 中检索天气预报。...; namespace MyFrontEnd.Pages; public class IndexModel : PageModel { private readonly DaprClient...IndexModel(DaprClient daprClient) { _daprClient = daprClient; } public async Task OnGet...建议将 latest 标记用于生产方案。对于生产,最好做法是使用特定版本号。 出于网络隔离目的,Compose 文件中定义每个服务都有其自己网络命名空间。

    54930

    Blazor练习2

    什么是 Razor 组件? Razor 文件定义了构成部分应用 UI 组件。Blazor 中组件类似于 ASP.NET Web Forms 中用户控件。...如果浏览项目,则会看到大部分文件为 .razor 文件。 在编译时,每个 Razor 组件都内置于 .NET 类中。类包括常见 UI 元素,如状态、呈现逻辑、生命周期方法和事件处理程序。...尝试使用计数器 在正在运行应用中,单击左侧边栏中“计数器”选项卡导航计数器页面。随后应会显示以下页面。 选择“单击我”按钮,在刷新页面的情况下递增计数值。...递增网页中计数器通常需要编写 JavaScript,但借助 Blazor,可使用 C#。 可在 Pages/Counter.razor 处找到 Counter 组件实现。...(由顶部 @page 指令指定)会导致 Counter 组件呈现其内容。

    1.8K11

    Blazor学习之旅(2)第一个Blazor应用

    Blazor应用结构 一个默认Blazor应用项目结构如下图所示: 其中: (1)Data文件夹主要存放Model和Service。 (2)Pages文件夹主要存放基于Razor页面和组件。...其中,.cshtml是页面,.razor则一般是组件,可复用。 (3)Shared文件夹主要存放页面模板、导航模板等。 其他: (1)Imports.razor用于声明全局应用命名空间。...(2)App.razor用于声明默认Router。.../> 这时,我们重新启动应用就可以看到Counter组件显示在主页上面了: 此时,假设我们每个Counter组件调用方希望递增值是固定,不一定都是1。...换句话说,我们希望支持调用方传递它需要递增,比如10。

    42020

    Dotnet9网站回归Blazor重构,访问速度飞快,交互也更便利了!

    先聊聊Razor Pages 上个版本网站前台使用Razor Pages开发,当时选择这个技术栈主要是为了搜索引擎SEO优化考虑。...关于MVC和Razor Pages哪个更优, 我们这里只说说Razor Pages相对优势。 首先,Razor Pages相对于MVC来说,更加简单和直观。...对于小型项目或者只有少量页面的应用来说,Razor Pages可以提供更快开发速度和更简洁代码结构,这是站长当时从MVC重构成Razor Pages主要选择理由。...其次,Razor Pages在SEO(搜索引擎优化)方面具有一定优势。由于Razor Pages将视图和处理逻辑封装在同一个页面中,搜索引擎可以更容易地理解和索引页面的内容。...相比于Razor Pages和MVC,Blazor提供了一种全新开发模式,具有许多独特优势和适用场景。 首先,Blazor提供了真正前端开发体验。

    56430

    .NET Core 2.0发布了

    Razor Pages 在新版本中引入了一种新技术 Razor Pages,它在某些更侧重编写页面的场景中有良好应用。如果项目中启用了MVC的话,那么Razor Pages也自动启用了。...请看官方例子,下面是一个Razor Pages,它和普通Razor语法MVC视图页面很相似,只不过顶部使用@page指令标识这是一个单独Razor Pages。...Pages中也可以添加函数。...除了Razor Pages,新版本还更新了新项目模板,DbContext缓冲池,以及不需要改动代码Application Insights监测。详情请参考官方文档。...从1.1升级2.0 我自己也做了一个ASP.NET Core小程序玩玩,正好借这个机会升级2.0 ,这里参考了官方迁移指南。在迁移之前,确保正确安装了.NET Core 2.0 。

    1.2K100
    领券