RedirectToAction使用查询参数重定向吗?
-
28-10-2019 - |
题
我正在开发ASP.NET MVC应用程序,并且遇到了奇怪的事情。
我有两个这样的控制器动作: 通用标签
首先,我调用Review
操作,将null作为参数,这将打开一个包含项目列表的网页。这些项目将链接回设置了ID的第一个“审核”操作。
将ID提供给审阅操作后,将返回此项目的编辑网页。在进行一些更改后单击“提交”时,我们将进行第二次“审核”操作(发布)。此处将保存该项目。
到目前为止一切都很好。
现在,在上一次“查看”操作(发布)中,我在结尾处获得了以下代码: 通用标签
这将再次触发第一个“查看”操作,问题是它将提供先前的ID?我以为RedirectToAction将不会提供任何参数?
解决方案
我以为RedirectToAction将不提供任何参数?
您的理解是错误的。如果目标网址包含具有相同名称的route参数,则会自动转发modelstate中存在的参数。在这种情况下,您将发布一个
id
参数(可能作为输入字段的一部分或URL的一部分),并且当您重定向回原始的Index操作时,这是因为路由定义在id
的末尾具有RedirectToAction
标记方法将填充它。作为一种避免此行为的解决方法,您可以明确指定重定向时不应发送
id
参数: 通用标签
不隶属于 StackOverflow