【问题标题】:WebApi controller view is not workingWebApi 控制器视图不起作用
【发布时间】:2016-04-14 18:53:43
【问题描述】:

我正在使用 Visual Studio 2015

  • 使用 mvc 模板创建了一个 web 应用程序并检查了 web api 和 mvc
  • 添加了 ado.net 模型
  • 使用实体框架创建了带有操作的 Web api 控制器
  • 从 Web api 控制器“创建”的脚手架视图
  • create.cshtml 已创建

运行 create.cshtml 时,出现此错误:

“/”应用程序中的服务器错误。

找不到资源。
说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。请求的 URL:/Fruit/Create

文件夹路径:Views/Fruit/Create

【问题讨论】:

  • FruitController 是 webapi 控制器吗?
  • 请贴出相关代码,否则无济于事。您的 FruitController 类是否有 Create 方法?如果没有,那么你有没有观点都没有关系

标签: asp.net-mvc


【解决方案1】:

您应该首先检查 api 中的“WebApiConfig” Like:


config.Routes.MapHttpRoute( 名称:“默认API”, routeTemplate: "api/{controller}/{action}/{id}", 默认值:新 { id = RouteParameter.Optional } );

【讨论】:

    【解决方案2】:

    您必须注意的第一件事是 Web-API 控制器上的操作返回数据而不是视图。

    您必须从 MVC 控制器返回视图,然后在返回后从视图中调用 web api。

    【讨论】:

      【解决方案3】:

      尝试检查路线。

      有时候是这样的:

      api/controller/action
      

      打开 WebApiConfig.cs

      你可能有这个:

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

      将您的请求发送给

      api/Fruit/Create
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-05
        相关资源
        最近更新 更多