ASP.NET MVC路由 - "空白"路由

bla*_*ter 6 asp.net-mvc routing

我可以设置一个从这样的根级URL映射的路由吗?

HTTP://本地主机:49658 /

我正在使用VS2010内置的Web服务器.

尝试使用空白或单斜杠URL字符串设置路由不起作用:

routes.MapRoute(
    "Default",
    "/",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)

它导致错误"路由URL不能以'/'或'〜'字符开头,它不能包含'?' 字符.".提前致谢!我的整个路线定义如下:

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

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

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

dot*_*iel 8

你想在这里实现什么......一个看起来像这样的URL?http://www.acme.com/?因为如果是,默认路由将在没有指定任何参数时实现.

// Default Route:
routes.MapRoute(
   "Default", // Route name
   "{controller}/{action}/{id}", // URL with parameters
   new { controller = "Home", action = "Index", id = String.Empty } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)


Sam*_*ogo 5

使用ASPNET MVC5: RouteConfig.cs文件:

 public static void RegisterRoutes(RouteCollection routes)
 {
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.MapRoute(
        name: "Homepage",
        url: "",
        defaults: new { controller = "Content", action = "Index" }
    );
    routes.MapRoute(
        name: "foo",
        url: "bar",
        defaults: new { controller = "Content", action = "Index" }
    );
    routes.MapMvcAttributeRoutes();

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{title}",
        defaults: new { controller = "Content", action = "Details", title = UrlParameter.Optional }
    );
}
Run Code Online (Sandbox Code Playgroud)

另外:
如果你希望你的网页自动重定向到其他航线,如“ http://www.yoursite.com/ ”到“ http://www.yoursite.com/bar ”,只是使用的方法RedirectToRoute()

public class ContentController : Controller
    {
        public ActionResult Index()
        {
            return RedirectToRoute("foo");
        }
    }
Run Code Online (Sandbox Code Playgroud)