VS Express MVC3新手重定向问题

时间:2012-07-05 01:01:43

标签: asp.net-mvc-3 visual-studio

我是MVC的新手(已经做了多年的经典ASP)。我不确定我知道如何提出这个问题。基本上,我希望一个控制器的动作无缝转移/重定向到另一个视图/控制器。我试过了

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

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

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

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

希望我正在努力做到这一点。

2 个答案:

答案 0 :(得分:0)

我相信你要找的是:

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

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

由于您已经在自行车操作中的SetupController中,您将获得无限重定向。但是,根据您的提及,这是您尝试重定向到的位置。

答案 1 :(得分:0)

protected internal RedirectToRouteResult RedirectToAction(
    string actionName,
    string controllerName
)

所以你的第一个例子重定向到Bicycles控制器中的Index动作,因此是localhost / Bicycles。