【发布时间】:2014-06-05 22:20:43
【问题描述】:
我正在开发一个 ASP.NET MVC 4 站点。我在 Controllers 文件夹中有一个 ArtistController。
ArtistController 有一个 Get 方法:
public ActionResult Get(string paramOne, string paramTwo)
在 RouteConfig.cs 我有这条路线,在默认路线之前:
routes.MapRoute(
name: "artistApi",
url: "api/artist/{action}/{id}",
defaults: new { controller = "Artist", action = "Get", id = UrlParameter.Optional }
);
当我尝试测试这个调用时,我得到:
未找到与请求 URI 匹配的 HTTP 资源。找不到与名为“艺术家”的控制器匹配的类型。
如果我从路由中删除 api 部分,它会起作用:
url: "artist/{action}/{id}"
我没有使用 WebApi,只是一个普通的 Controller。
知道为什么这条路线找不到控制器吗?
谢谢!
【问题讨论】:
-
测试 URL 是什么样的?
-
网址如下所示:api/Artist/Albums?paramOne=ArtistName¶mTwo=otherValue
-
我已将 url 值更改为“test/artist/{action}”,现在它正在工作。在我看来,您只能使用 Web API 使用“api/controller”。对此有什么想法吗?
标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing