【问题标题】:RedirectToAction outside of Areas区域外的 RedirectToAction
【发布时间】:2010-07-08 11:31:03
【问题描述】:

我最近在工作中更新了我们的 MVC 2 项目以使用区域,但是我在使用 RedirectToAction 方法时遇到了一点问题。

我们的区域之外还有一些控制器等。这些控制器包括 Home 控制器等。

我如何从区域内向区域外的控制器发送RedirectToAction

我认为类似以下的方法可能有效,但无效:

return RedirectToAction("Index", "Home", new { area = "" });

return RedirectToAction("Index", "Home", new { area = null });

【问题讨论】:

  • 这意味着你想移动到新的 URL,在控制器之外?我说对了吗?
  • 我想重定向到当前区域之外的动作。

标签: c# asp.net-mvc-2 asp.net-mvc-areas


【解决方案1】:

看来我原来的解决方案:

return RedirectToAction("Index", "Home", new { area = "" });

确实有效。

我不确定我之前是如何使它无法正常工作的,但它现在似乎可以按预期工作。

另外值得注意的是,Visual Studio 2010 仍然告诉我Cannot resolve action 'Index',即使代码运行良好。

【讨论】:

  • return RedirectToAction("Index", "Home", new { area = "" });谢谢,这对我有用。
【解决方案2】:

试试return RedirectToAction("Index", "Home", new {area = Nothing});

擦洗以上...

在这里查看link。基本上,我认为您最初是在视图中尝试执行此操作,而不是在控制器操作中执行此操作。由于我看到它是一个控制器动作,你必须使用RedirectToRoute 来改变你当前的区域。

【讨论】:

  • 我认为没有什么是 VB.NET 的东西。我正在使用 C#。无论如何我都试过了,只是为了确定,但是是的,它不起作用。
  • 确实是这样,猜想 C# 标签应该提醒我注意不同的语言 :) 无论如何,找到一些额外的信息供您查看。
  • 感谢您的帮助,汤米。在 Google 上找到 RedirectToRoutes 之后,我确实尝试了它,它确实有效!我还发现我的问题有点无效,因为我的 RedirectToAction 代码开始工作......我一定做了一些愚蠢的事情来阻止它工作,但我不确定是什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-23
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多