首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET MVC:带有POST操作参数的RedirectToAction

ASP.NET MVC:带有POST操作参数的RedirectToAction
EN

Stack Overflow用户
提问于 2013-05-20 13:59:36
回答 2查看 80.8K关注 0票数 25

这里已经提出了这个问题:

RedirectToAction with parameter

但是,如果我有两个同名但参数不同的操作怎么办?如何重定向到POST Terms操作而不是GET Terms操作。

代码语言:javascript
复制
public ActionResult Terms() {
    //get method
}

[HttpPost]
public ActionResult Terms(string month, string year, int deposit = 0, int total = 0) {
    //process POST request
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-20 14:11:08

不要紧,实际上我可以直接调用这个方法,而不是像这样使用RedirectToAction

代码语言:javascript
复制
return Terms(month, year, deposit, total);

而不是:

代码语言:javascript
复制
return RedirectToAction("Terms", {month, year, deposit, total});
票数 60
EN

Stack Overflow用户

发布于 2015-01-31 15:15:30

您可以直接调用该方法,这是正确的,但我强烈建议您重新考虑您的体系结构/实现。

HTTP协议包含了安全和不安全动词的概念。GET这样的安全动词不会以任何方式修改服务器的状态,而POST、PUT、do等不安全动词则会修改状态。通过调用POST方法,您违反了这一原则,因为您的POST将处于修改状态并非不可想象。

此外,最佳实践规定,您应该限制所有操作的谓词,因此,如果第一个“Terms”方法是GET,则还应向其添加HttpGet属性,以防止服务器接受该操作的其他Http操作。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16643414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档