gpt4 book ai didi

c# - ASP MVC 5 和 Web Api 2 无法查看完整链接上的页面

转载 作者:行者123 更新时间:2023-11-30 21:52:16 24 4
gpt4 key购买 nike

我有 2 个 Controller ,1 个是 MVC,1 个是 Web Api 2。后者似乎工作正常,但第一个只有在我写完整地址时才能显示 HTML 页面。

这是我的简单RouteConfig.cs

routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new {
controller = "Base",
action = "Main"
}
);
)

我们以默认为例,controller是Base,action是Main,代码很简单

public ActionResult Main() {
return View();
}

http://localhost/miApps -->/View/Base/Main 的工作和显示内容 http://localhost/miApps/Base -->/View/Base/Main 的工作和显示内容 http://localhost/miApps/Base/Main --> 不起作用,错误是

{"Message":"No HTTP resource was found that matches the request URI 'http://localhost/miApps/Base/Main'.","MessageDetail":"No type was found that matches the controller named '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 Controller 的路由应该有一个前缀(通常是'/api/')以区别于普通的 Controller 。

尝试将您的 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
}
);
}

关于c# - ASP MVC 5 和 Web Api 2 无法查看完整链接上的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34918527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com