0

我是 MVC 的新手(已经做了很多年的经典 ASP)。我不确定我知道如何问这个问题。基本上,我希望一个控制器的操作能够无缝地传输/重定向到另一个视图/控制器。我努力了

    public class SetupController : Controller
    {
        ...
        public ActionResult Bicycles()
        {
            return RedirectToAction("Index", "Bicycles");
        }
    }

但问题是这将我带到 localhost/Bicycles (不存在)。我想要的是去 localhost/Setup/Bicycles。我试过这个(将“设置”父文件夹添加到控制器名称):

    public class SetupController : Controller
    {
        ...
        public ActionResult Bicycles()
        {
            return RedirectToAction("Index", "Setup/Bicycles");
        }
    }

但这创建了一个无限重定向循环,浏览器正确地拒绝这样做。

希望我正在尝试做的事情是有道理的。

4

2 回答 2

0

我相信您正在寻找的是:

    public ActionResult Bicycles()
    {
        return RedirectToAction("Bicycles", "Setup");
    }

第一个参数是Action,第二个参数是Controller。

由于您已经在自行车操作中的 SetupController 中,因此您将获得无限重定向。但是,从您提到的内容来看,这就是您尝试重定向到的地方。

于 2012-07-05T03:41:18.487 回答
0
protected internal RedirectToRouteResult RedirectToAction(
    string actionName,
    string controllerName
)

因此,您的第一个示例重定向到 Bicycles 控制器中的 Index 操作,因此是 localhost/Bicycles。

于 2012-07-05T03:43:38.470 回答