c#mvc如何将根url映射到特定视图
我有一个带有DefaultController的mvc应用程序,它映射到index.cshtml 所以c#mvc如何将根url映射到特定视图,c#,asp.net-mvc,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc Routing,我有一个带有DefaultController的mvc应用程序,它映射到index.cshtml 所以 将默认地图路线控制器更改为 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Default", action = "Index", id = UrlParameter.Optional } ); 将new{controller
将默认地图路线控制器更改为
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Default", action = "Index", id = UrlParameter.Optional }
);
将
new{controller=“Home”
更改为new{controller=“Default”
。那么您期望的是什么???@Silvermind-这是MVC中的某种规则吗?如果默认控制器名称设置为“HomeController”,则本地主机:53130没有路由(响应为“禁止”)。如果默认控制器名称设置为“DefaultController”,则路由路径将路由到那里。为什么?@FrenkyB当url不包含任何关于控制器名称的信息时:(http://localhost/
就是这样一个空url),路由将转到定义为默认值的控制器名称。控制器名称无关紧要,如果您想转到MySuperDuperController
,您将创建new{controller=“MySuperDuper”
omg,我已将默认值重命名为Home,然后又将其更改回来,但忘记更改。谢谢
http://localhost:<port>/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace MVC5_HttpClientTest_F45
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
}
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Default", action = "Index", id = UrlParameter.Optional }
);