【问题标题】:RedirectToAction doesn't work but hits the breakpoint of the targeted action method [closed]RedirectToAction 不起作用,但会命中目标操作方法的断点 [关闭]
【发布时间】:2018-01-11 01:53:53
【问题描述】:

基本上就是标题所说的。它甚至会在目标操作方法上命中断点并通过 cshtml 文件进行调试。但它似乎对网站没有任何作用。通过chrome dev tool的network tab,检索到Survey页面,状态为200。

return RedirectToAction("Survey");

为清晰起见进行编辑

我有一个 CreateSurvey 视图,它提交并触发我的 POST 操作方法。 在 POST 操作方法中,它通过语句。

return RedirectToAction("Survey");

并点击了 Survey HttpGet 操作方法及其相应视图的断点,但是当我返回我的站点时,我没有重定向。当我在我的 chrome 开发工具中检查网络选项卡时。浏览器收到状态为 200 的调查页面请求,但仍在 CreateSurvey 页面中。

【问题讨论】:

  • "retrieves the Survey page and has a status of 200" - 那么有什么问题呢?什么不工作?您已经描述了重定向的作用,它告诉浏览器向目标页面发出 GET。那你在问什么?
  • But it doesn't seem to do anything with the website. 告诉我们你的意思。
  • 能否给我们看一张网络标签的截图,包括Survey的302?
  • 你的反对票伤害了:( .
  • 屏幕截图暗示jQuery正在发出请求?还有xhr?你实际上是如何提出这个要求的?如果您使用的是 AJAX,那么这可以解释为什么您的页面没有重新加载。 AJAX 专门用于重新加载页面。

标签: c# asp.net-mvc redirect


【解决方案1】:

根据您的屏幕截图,这些请求是通过 AJAX 发出的。 AJAX 专门用于 not 重新加载页面。因此,它不会自动跟随重定向或以任何有意义的方式更新浏览器 UI。

要么不要对请求使用 AJAX(因为您希望无论如何都要重新加载页面上下文),或者您可以在请求完成后使用 AJAX 和 issue your redirect in client-side code

【讨论】:

  • 谢谢大卫。怜悯反对票的家伙。为了清楚起见,我已经编辑了我的问题。我并不真正关心互联网上的一些虚拟点,但我想保留我的提问权限。
猜你喜欢
  • 2011-10-09
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 2017-10-31
相关资源
最近更新 更多