Asp.net mvc 在asp.NETMVC中创建Api控制器

Asp.net mvc 在asp.NETMVC中创建Api控制器,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我在MVC项目中创建了名为ApiConroller的控制器。当我尝试运行其Index()操作方法时,它返回以下错误消息: 此XML文件似乎没有任何关联的样式信息 用它。文档树如下所示。无HTTP 找到与请求URI匹配的资源 ''. 它为什么返回xml文件?如何使其返回视图?/api/是Web api路由的默认映射的一部分,如下所示: public static class WebApiConfig { public static void Register(HttpConfigura

我在MVC项目中创建了名为
ApiConroller
的控制器。当我尝试运行其
Index()
操作方法时,它返回以下错误消息:

此XML文件似乎没有任何关联的样式信息 用它。文档树如下所示。无HTTP 找到与请求URI匹配的资源 ''.


它为什么返回xml文件?如何使其返回视图?

/api/
是Web api路由的默认映射的一部分,如下所示:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}
如果未使用Web Api,请确保通过从项目中删除WebApiConfig文件和/或从Global.asax文件中删除
WebApiConfig.Register(GlobalConfiguration.Configuration)
来删除这些路线图


如果您在某处使用Web Api,则需要更改上述路由。

Web Api控制器通常不会返回视图。您需要返回数据,通常以XML或JSON的形式返回。它不是web api控制器。我正在创建名为ApiController的普通mvc控制器。我还试图返回
json
,但它给出了相同的错误。
/api/
是Web api路由的默认映射的一部分。如果未使用Web Api,请确保删除这些映射(从项目中删除WebApiConfig和/或从Global.asax文件中删除
WebApiConfig.Register(GlobalConfiguration.Configuration)
)。如果您在某处使用Web Api,则需要更改路由。正如您所提到的,我已经删除了这些映射。现在它开始工作了。如果你能把它作为答案贴出来,我会接受你的答案。谢谢你的快速回复。