Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET WEBAPI添加自定义路由_Asp.net_Asp.net Mvc 3_Asp.net Web Api - Fatal编程技术网

ASP.NET WEBAPI添加自定义路由

ASP.NET WEBAPI添加自定义路由,asp.net,asp.net-mvc-3,asp.net-web-api,Asp.net,Asp.net Mvc 3,Asp.net Web Api,我已经启动并运行了新的.NET WebAPI,我正在尝试向我的项目添加一个新路由,以便可以看到设置控制器的运行情况。我已将路由添加到RegisterRoutes方法中的Global.asax文件中,但当我尝试浏览到:sampleUrl:12345/settings/index时,收到404错误。我可以看到:sampleUrl:12345/home/index没有问题 Global.asax public static void RegisterRoutes(RouteCollection rou

我已经启动并运行了新的.NET WebAPI,我正在尝试向我的项目添加一个新路由,以便可以看到
设置控制器的运行情况。我已将路由添加到RegisterRoutes方法中的
Global.asax
文件中,但当我尝试浏览到:
sampleUrl:12345/settings/index
时,收到404错误。我可以看到:
sampleUrl:12345/home/index
没有问题

Global.asax

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

    routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

    routes.MapRoute(
        name: "Settings",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Settings", action = "Index", id = UrlParameter.Optional }
    );
}

在我的
设置控制器中是否需要
操作结果索引()

您的设置路径是多余的。您可能缺少的是设置控制器中的索引方法。

OK,请从Global.asax中删除设置路由。我的视图文件夹中有一个名为Settings的文件夹,该文件夹中有一个Index.cshtml文件。这就是你的意思吗?我有一个默认执行的ProductsController。这是毫无疑问的。ProductsController中没有索引方法。然而,HomeController中有一个。我正在使用WebAPI初学者项目。我没有在此笔记本电脑上安装Visual Studio,但如果您有5分钟的时间,请扫描