ASP MVC 5 和 Web API 2 无法查看完整链接上的页面
本文关键字:链接 MVC Web API ASP | 更新日期: 2023-09-27 18:31:13
我有 2 个控制器,1 个是 MVC,1 个是 Web API 2。后者似乎可以正常工作,但第一个只有在我写完整地址时才不能显示 HTML 页面。
这是我的简单RouteConfig.cs
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new {
controller = "Base",
action = "Main"
}
);
)
我们以默认值为例,所以控制器Base
,动作Main
,代码简单明了
public ActionResult Main() {
return View();
}
http://localhost/miApps -->/视图/基本/主的工作和显示内容http://localhost/miApps/Base -->/视图/基本/主要的工作和显示内容http://localhost/miApps/Base/Main -->不起作用,错误是
{"消息":"未找到与请求 URI 'http://localhost/miApps/Base/Main'匹配的 HTTP 资源。","消息详细信息":"未找到与名为"Base"的控制器匹配的类型。
我也发帖WebApiConfig.cs
,也许有互动?
config.MapHttpAttributeRoutes();
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{action}",
defaults: new {
//id = RouteParameter.Optional
}
);
}
到 API 控制器的路由应该有一个前缀(通常为"/api/"),以便与普通控制器区分开来。
尝试将WebApiConfig.cs
更新为以下内容:
config.MapHttpAttributeRoutes();
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}",
defaults: new {
//id = RouteParameter.Optional
}
);
}