使用返回RedirectToAction重定向错误

时间:2011-03-01 21:40:04

标签: asp.net-mvc asp.net-mvc-routing

我需要将用户从一个控制器重定向到另一个控制器。

我正在使用

return RedirectToAction("Index", "Project");

除非我发布我的网页,否则效果很好。我的网站在IIS目录中运行,但网址看起来像这样

http://localhost/Project/index 

但它应该是正确的

http://localhost/webapp/Project/index 

修改

您对Is there a "/" in beginning of your routing?的意思是什么?

是的,该目录设置为IIS应用程序。

没有什么特别的,但现在是:

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
        }

3 个答案:

答案 0 :(得分:1)

如果您想从

更改路径
 http://localhost/Project/index 

 http://localhost/webapp/Project/index 

然后将前缀放在Route注册中,例如:

public static void RegisterRoutes(RouteCollection routes)
     {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "webapp/{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
    }

答案 1 :(得分:0)

  • 路由开头是否有“/”?
  • 您确定虚拟目录在IIS中设置为应用程序吗?

将问题的路由规则添加到问题中以帮助您更多(当您告知我们时,请对答案进行评论,谢谢).t

答案 2 :(得分:0)

更改路线:

routes.MapRoute(
                "Default", // Route name
                "webapp/{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );