使用 WebAPI 的 MVC 项目的默认页面无法启动
Default page with MVC project using WebAPI does not launch
我是 WebAPI 的新手...我知道如何在不使用 WebAPI 时创建从请求重新调整的 MVC 视图。
通常,在 _Layout.cshtml 页面中,您有一个针对特定控制器执行的 "Index" 控制器操作方法,索引视图显示正常。
我尝试了几种方法,但在使用 WebAPI 控制器时无法显示默认视图。例如,我在 WebAPI 控制器中有一个 "GetCategories" 操作方法。
而不是 "Index" 路由工作的非 WebAPI 控制器方法(通过我的 _Layout.cshtml 页面),我不知道在默认视图会出现的地方放什么.
<li>@Html.ActionLink("Categories", "GetCategories", "Categories")</li>
有人可以在这里为我指明正确的方向吗?
请注意,我将操作方法更改为 "GetCategories" 以符合我在 WebAPI 控制器中的内容,但显然,正如我提到的,没有提供我所拥有的相应视图名称它在 Views/Categories 文件夹 (GetCategories) 下。
我收到错误 "Requested URL: /Categories/GetCategories" 未找到。
WebAPI 的默认路由不将方法名称作为 URL 的一部分。
您应该只使用“/Categories”。
只要您使用 HTTP GET 方法调用 "your.server.address/Categories",CategoriesController
中名称以 "Get" 开头的任何方法都会被调用。
所以你应该使用:
<li>@Html.ActionLink("Categories", null, "Categories")</li>
但请注意,单击 link 将在您的浏览器中显示(如果您使用默认设置)您返回的任何内容 JSON。
您可以阅读有关 Asp.NET WebAPI 路由的更多信息 here
我是 WebAPI 的新手...我知道如何在不使用 WebAPI 时创建从请求重新调整的 MVC 视图。
通常,在 _Layout.cshtml 页面中,您有一个针对特定控制器执行的 "Index" 控制器操作方法,索引视图显示正常。
我尝试了几种方法,但在使用 WebAPI 控制器时无法显示默认视图。例如,我在 WebAPI 控制器中有一个 "GetCategories" 操作方法。
而不是 "Index" 路由工作的非 WebAPI 控制器方法(通过我的 _Layout.cshtml 页面),我不知道在默认视图会出现的地方放什么.
<li>@Html.ActionLink("Categories", "GetCategories", "Categories")</li>
有人可以在这里为我指明正确的方向吗?
请注意,我将操作方法更改为 "GetCategories" 以符合我在 WebAPI 控制器中的内容,但显然,正如我提到的,没有提供我所拥有的相应视图名称它在 Views/Categories 文件夹 (GetCategories) 下。
我收到错误 "Requested URL: /Categories/GetCategories" 未找到。
WebAPI 的默认路由不将方法名称作为 URL 的一部分。
您应该只使用“/Categories”。
只要您使用 HTTP GET 方法调用 "your.server.address/Categories",CategoriesController
中名称以 "Get" 开头的任何方法都会被调用。
所以你应该使用:
<li>@Html.ActionLink("Categories", null, "Categories")</li>
但请注意,单击 link 将在您的浏览器中显示(如果您使用默认设置)您返回的任何内容 JSON。
您可以阅读有关 Asp.NET WebAPI 路由的更多信息 here