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

你如何在GET上RedirectToAction(),而不是在POST上

在GET上使用RedirectToAction()而不是在POST上使用的主要原因是为了遵循HTTP请求的幂等性原则和RESTful架构的设计原则。

  1. 幂等性原则:GET请求是幂等的,即对同一资源的多次GET请求不会产生副作用,不会改变资源的状态。而POST请求是非幂等的,每次POST请求都可能会对资源进行修改或创建新的资源。
  2. RESTful架构:RESTful架构是一种设计风格,强调使用标准的HTTP方法来操作资源。其中,GET方法用于获取资源的表示,而POST方法用于创建新的资源或对资源进行修改。根据RESTful架构的设计原则,应该使用GET方法来获取资源的表示,而不应该在GET请求中进行资源的修改或创建。

因此,在使用ASP.NET MVC框架进行开发时,推荐在GET请求中使用RedirectToAction()来进行页面的重定向,而不是在POST请求中使用。这样可以保持代码的规范性和一致性,符合HTTP请求的语义和RESTful架构的设计原则。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供弹性计算能力,满足各种业务需求。产品介绍链接
  • 腾讯云负载均衡(CLB):实现流量分发,提高应用的可用性和负载能力。产品介绍链接
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的云端存储服务。产品介绍链接
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):提供高性能、可扩展的云数据库服务。产品介绍链接
  • 腾讯云人工智能(AI):提供丰富的人工智能服务和解决方案,包括图像识别、语音识别、自然语言处理等。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Windows 何在启动程序时单独为这个程序指定环境变量,不需要编写任何代码或脚本

如果我们能有办法仅为这个特定的程序设置环境变量,那么我们就可以不开启全局代理的情况下单独为这样的程序开启代理。 设置环境变量开启代理 比如,Unity Hub 就是这样的一个程序。...为了让它开启代理,我们可以命令行中用这样的三句命令启动它: > cd "C:\Program Files\Unity Hub" > set HTTP_PROXY=http://127.0.0.1:7778...Files\Unity Hub\Unity Hub.exe"" 这里的外层引号 " 是为了让整个后面的字符串不会被空格分隔 这里的内层引号则是为了让 cmd 代理执行的命令部分的每个参数不会被空格分隔 ...Windows program with custom environment variable - Super User 本文会经常更新,请阅读原文: https://blog.walterlv.com/post

85840

NAS搭建直播服务器,人人都是平台“一哥”,开启的专属网红之路 - 熊猫不是猫QAQ

之前熊猫也介绍过直播的一些容器,例如bilibili-go这一类,但这一类只能用于特定平台,并不是自有平台。...今天要介绍的Owncast是一个开源的自托管方案,具有高度可定制性和灵活性,可以几分钟内部署好。...owncast 目录 cd /volume1/docker/owncast # 将 docker-compose.yml 放入当前目录 # 一键启动 docker-compose up -d 体验 浏览器中输入...http://nasIP:8087就能看到主界面,默认是没有任何推流的,所以不会有直播画面。...n5105的性能也足够用来直播比较复杂的场景,618期间空盘到手价2000左右,并且618当天下单或许有意想不到的收获,这不蹲一波???

89830

七天学会ASP.NET MVC (四)——用户授权认证问题

小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,本节主要讲了验证错误时的错误值,客户端验证...不是,是从post数据中重新获取的。 为什么需要在初始化请求时,Add New 方法中传递 new CreateEmployeeViewModel()?...关于实验16 为什么点击”SaveEmployee “按钮时,需要返回关键字? 之前实验9讨论的,当点击提交按钮时,是给服务器发送请求,验证失败时对服务器请求没有意义。...该属性可使得DoLogin 方法打开Post 请求。如果有人尝试获取DoLogin,将不会起作用。还有很多类似的属性HttpGet,HttpPut和HttpDelete属性. ?...不是的,可以使用URI代替Cookie。

8.7K50

七天学会ASP.NET MVC (三)——ASP.Net MVC 数据处理

系列文章第一讲中,我们已经知道,Web编程模式不是事件驱动的编程模式,是请求响应模式。最终用户会产生发送请求。...有四种请求类型:getpost,put以及delete. Get: 当需要获取数据时使用。 Post: 当需要新建一些事物时使用。 Put: 当需要更新数据时使用。...提交按钮在给服务器发送请求专门使用的,简单的按钮是执行一些自定义的客户端行为而使用的。按钮不会自己做任何事情。 实验10——服务器端(或Controller)获取Post数据 1....为什么实现重置功能时,不使用 input type=reset ? 因为输入类型type=reset 不是清晰的值,仅设置了控件的默认值。...,是否对MVC的理解又进了一步?

5.2K100

服务器的一举一动,我可都看着!linux超骚技巧三分钟Get

——编程三分钟” 今天看到一个超级叼的linux命令,可以完整记录屏幕的命令与输出结果。 有人问这有什么叼的,不就是保存历史操作记录吗?我看看日志也能看出来。...更爽的是自己的服务器,谁想登陆操作直接就被监视起来,一举一动看的清清楚楚,是不是很过瘾!!...自动触发监控用户登陆的操作与实时监控 有时候某个人偷偷远程访问了的系统,或者运维人员远程操作了一些东西,我们可以设置自动记录下这个人在系统做了什么事情,是谁闯的祸,该谁背的锅,一目了然!...通过录制终端记录,来制作一个命令行技巧视频 直接分享几十k的记录文件给朋友,就可以让好友体验到站在你旁边看你操作的感觉 大神来面前帮忙,这时候根本来不及打开录屏软件,还容易遭大神的反感; 一顿操作猛虎...还想用这个来监听输入的密码?

68720

Membership三步曲之入门篇 - Membership基础示例

System.Web.Security的命名空间包含了上图中的8个类,但是实际我们只需要Membership一个类就可以帮助我们完成大部份的功能。...然后我们再加上AccountController并且添加4个Action(Login和Register的GetPost版本),View的代码我就不贴了,大家可以到未尾下载整个项目的源码。...通俗的讲,认证是看这个用户是不是合法的,像一扇门,放不放穿上用户进来。...授权是在他进来之后能够干什么,他可以坐在椅子,但绝对不能坐在你头上,又或者只允许爸或者老婆坐在你头上,这就是授权了。   ...MVC的Action我们可以直接在Authorize标签中指定某个角色,那么这个Action就只有这个角色下的用户才能够访问了。

91660

ASP.NET MVC 5 - 给数据模型添加校验器

您可以一个地方 (模型类) 中以声明的方式指定验证规则,这个规则会在应用程序中的任何地方执行。 让我们看看您如何在本电影应用程序中,使用此验证支持。...Code First确保的模型指定class验证规则强制执行之前应用程序将变更储存在数据库中。...注意,为了使jQuery支持使用逗号的非英语区域的验证 ,需要设置逗号(",")来表示小数点,本教程前面所述, 须引入NuGet globalize。...DataType属性用于指定一个比数据库内部类型更加具体的一种数据类型,但它们不是验证属性。在这种情况下,我们只需要保留的日期跟踪,不是日期和时间。...该DataType 属性传递数据的语义,不是如何呈现它在屏幕,并具有以下的优点,不带DisplayFormat的: · 浏览器可以使HTML5的功能(例如显示一个日历控件,区域设置相应的货币符号,

9K70

ASP.NET MVC 5 - 查询Details和Delete方法

但是,在这里您需要两种删除方法 — — 一个 GET方法和一个POST方法它们都具有相同的签名。(他们都需要接受一个整数作为参数)。 要解决这一点,可以有几种办法。一是使用不同的方法名称。...下一步 您构建和测试一个Web应用程序之后,下一步就是将其提供给其他人,以使得通过互联网访问。要做到这一点,需要将它部署到一个Web主机。...通过微软的free Windows Azure trial account,您可以部署多达10个Web站点。...不论是本节所介绍的知识,还是 Tom Dykstra's 的中级教程都是为了帮助大家更好的进行MVC的开发,大家进行开发的同时也可以借助一些开发工具。...请关注我们的博客,这样就可以获得最新教程的更新信息流。 任何意见,欢迎反馈。

3K60

MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013

Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具 经过一个多星期的努力总算完成了单表,多表关联(一对多,多对一)的增删改查的代码生成,基本可以实现不用添加任何代码完成对数据表的操作...asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与) Demo和所有源代码代码 https://github.com/neozhu/MVC5-Scaffolder...功能: 1/新增操作 : 页面跳转到新增页面 2/删除操作 : 选择记录或单击行的删除 弹出确认框 是否删除改记录 3/编辑操作 : 单击行的编辑图标页面跳转到编辑页面 4/查询操作 : Search...Index :查询Table List Create :新增页面 Edit : 编辑页面 EditForm :Partial View内嵌Create 和Edit页面中 _OrderDetailForm...("Index"); } // Get Detail Row By Id For Edit // Get : Orders/EditOrderDetail

1.4K130

【ASP.NET Core 基础知识】--MVC框架--Models和数据绑定

通过在前端进行验证,用户能够更早地得知输入错误,不是等到提交表单后才得知。 降低后期成本: 开发阶段实施强大的数据验证可以降低维护和修复错误的成本。...与客户端验证相比,服务器端验证更为可靠,因为客户端验证可以被绕过,服务器端验证是实际的服务器执行的。...模型绑定器负责将HTTP请求中的数据映射到控制器的参数或模型对象。通过自定义模型绑定器,可以适应应用程序特定的需求或处理特殊类型的绑定操作。...模型验证器通常是模型的属性应用的验证特性,但有时可能需要执行更复杂的验证,例如涉及多个属性的验证逻辑或依赖外部服务的验证。...有效使用ViewModels: 使用ViewModels来传递数据给视图,不是直接将实体模型传递给视图。这有助于防止过多的数据暴露给前端,同时也能更好地适应视图的需求。

38310

Asp.Net MVC4入门指南(8):给数据模型添加校验器

您可以一个地方 (模型类) 中以声明的方式指定验证规则,这个规则会在应用程序中的任何地方执行。 让我们看看您如何在本电影应用程序中,使用此验证支持。...本教程之前所生成的控制器和视图中,Movie模型类的属性所指定的验证规则一样可以自动适用。...上面的顺序将触发必需的验证,并不需要点击提交按钮。不输入任何字段的情况下,直接点击提交按钮,将触发客户端验证。直到没有客户端验证错误的情况下,表单数据才会发送到服务器。...您可以服务器端HTTP Post 方法加上断点来测试一下,或者使用Fiddler tool或 IE 9 F12 Developer tools. ?...decimal Price { get; set; } DataType属性不是验证特性,它们用来告诉视图引擎如何Render HTML 。

4.6K100

ASP.NET Core XSRFCSRF攻击

/> 注意,表单的提交是向受信任的站点提交,不是向恶意站点提交,这是 XSRF/CSRF中所描述的 "跨站" (4) 用户选择提交按钮,浏览器发起请求并自动包含请求域的身份验证cookie...,即 www.good-banking-site.example.com (5) 该请求 www.good-banking-site.example.com 服务器运行,使用用户的身份,可以使用经过身份验证用户进行任何事情的操作...return RedirectToAction(); } 也可以使用AutoValidateAntiforgeryToken,该特性不会验证下列请求 GET,HEAD,OPTIONS,TRACE,它可以应用程序中作为全局过滤器来触发防伪...token验证,该特性可以应用于如下请求POST,PUT,PATCH,DELETE不需要将ValidateAntiForgeryToken特性提交到每个action //全局示例 //可以使用 IgnoreAntiforgeryToken...builder.Services.AddControllersWithViews(options => { options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()); }); 也可以使用

17210

ASP.NET Core中使用MediatR实现命令和中介者模式

本文中,我将解释命令模式,以及如何利用基于命令模式的第三方库来实现它们,以及如何在ASP.NET Core中使用它来解决我们的问题并使代码简洁。因此,我们将通过下面的主题来进行相关的讲解。...我们如何在我们的.NET Core应用程序中使用MediatR 使用命令和事件的实例 命令模式及其简单实例 从根本讲,命令模式是一种数据驱动的设计模式,属于行为模式的范畴。...中介模式的优势及MediatR如何帮助我们实现中介模式 中介模式定义了一个对象,该对象封装了一组对象是如何交互的(维基百科定义的)。 它通过保持对象彼此明确地相互引用来促进松散耦合。...这里,我们有简洁的代码,大部分的工作是控制器外部完成的。这实现了对不同操作的处理的关注点分离(SoC)和单一责任的分离。 第二个示例中,我们将演示使用多个处理程序对命令执行不同操作的场景。...这里,我们使用了Publish 方法,不是Send 函数。发布将调用订阅了NewUser 类的所有处理程序。

1.1K00

ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇

如果将身份验证看作是"开门"的话,主人邀请你进屋,但这并不意味着可以进入到卧室或者书房,可能的活动场所仅限书房——这就是授权。...以及上面提到的FormsAuthenticationModule可以IIS 级别的.config文件中找到,这也是ASP.NET 和 IIS紧耦合关系的体现)。...还是像传统那样web.config中指定吗? 非也非也,Katana 完全抛弃了FormsAuthenticationModule,实际是通过Middleware来实现身份验证。...CookieAuthenticationMiddleware所做的事其实和FormsAuthenticationModule做的事类似。 那我们怎么产生Cookie呢?...也就是说Cookie 就是我们的令牌, Cookie本人,我们不必再进行用户名和密码的验证了。

3.4K60

ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

修改数据HTTP GET方法, 存在安全风险,博客文章ASP.NET MVC Tip #46 – Don’t use Delete Links because they create Security...HTTP GET方法中修改数据也违反HTTP的最佳实践和REST模式架构,指明GET请求不应该改变的应用程序的状态。...Search示例中,Index.cshtml视图中执行查询。有关延迟的查询执行的详细信息,请参阅Query Execution. 注:Contains 方法是运行在的数据库,不是C#代码上面。...movies.Where(s => s.Title.Contains(searchString)); } return View(movies); } 现在,您可以通过路由数据(URL段)的标题搜索了,不是作为查询字符串值...请注意 HTTP POST 请求的 URL 和GET 请求的URL 是相同的(localhost:xxxxx/电影/Index)— — URL 中没有搜索信息。

6.7K110
领券