ASP.NET MVC 3 - 重定向到另一个动作

Posted

技术标签:

【中文标题】ASP.NET MVC 3 - 重定向到另一个动作【英文标题】:ASP.NET MVC 3 - redirect to another action 【发布时间】:2011-06-22 00:48:45 【问题描述】:

我想将 Home 控制器的 Index 操作重定向到另一个控制器的操作,而不是别的。我的代码是这样的:

    public void Index()
    
        //All we want to do is redirect to the class selection page
        RedirectToAction("SelectClasses", "Registration");
    

现在,这只是加载一个 0 kB 的空白页,什么都不做。我觉得它与那个 void 返回类型有关,但我不知道还有什么可以改变的。这里有什么问题?

【问题讨论】:

【参考方案1】:
return RedirectToAction("ActionName", "ControllerName");

【讨论】:

如果您提供一些上下文和解释说明为什么这会起作用,将会有所帮助。【参考方案2】:

您必须编写此代码而不是 return View(); :

return RedirectToAction("ActionName", "ControllerName");

【讨论】:

【参考方案3】:

你的方法需要返回一个ActionResult 类型:

public ActionResult Index()

    //All we want to do is redirect to the class selection page
    return RedirectToAction("SelectClasses", "Registration");

【讨论】:

如果你需要传递一些参数:return RedirectToAction("ActionName", "ControllerName", new id = 99, name="sample" );【参考方案4】:

应该ReturnActionResult,而不是Void

【讨论】:

【参考方案5】:

你需要返回RedirectToAction的结果。

【讨论】:

以上是关于ASP.NET MVC 3 - 重定向到另一个动作的主要内容,如果未能解决你的问题,请参考以下文章

当用户在 asp.net mvc3 中未授权时重定向到另一个页面

当用户在 asp.net mvc3 中未授权时重定向到另一个页面

使用 JavaScript/jQuery 重定向到 ASP.NET MVC 中的另一个页面

MVC-3 ASP.NET 共享视图-重定向-Razor

提交表单后在 ASP.NET MVC 中。它没有重定向到其他页面。它加载相同的页面

ASP.Net MVC 3 将未经授权的用户重定向到 loginUrl