使用Web API的MVC项目的默认页面无法启动

时间:2015-01-11 18:32:27

标签: asp.net-mvc asp.net-web-api

我是WebAPI的新手......我知道如何在不使用WebAPI时从请求创建MVC View重新调整。

通常,在_Layout.cshtml页面中,您有一个"索引"为特定控制器执行的控制器操作方法,并且索引视图正常。

我尝试了几件事,但在使用WebAPI控制器时无法获得默认的View。例如,我有一个" GetCategories" WebAPI控制器内部的操作方法。

而不是非WebAPI控制器方法所在的"索引"路线工作(通过我的_Layout.cshtml页面),我不知道在这里放置默认视图的内容。

<li>@Html.ActionLink("Categories", "GetCategories", "Categories")</li>

有人可以指出我在正确的方向吗?

请注意,我已将操作方法​​更改为&#34; GetCategories&#34;同意我在WebAPI控制器中所拥有的内容,但很明显,就像我提到的那样,我没有在Views / Categories文件夹(GetCategories)下提供相应的View名称。

我收到错误&#34;请求的网址:/ Categories / GetCategories&#34;没找到。

1 个答案:

答案 0 :(得分:1)

WebAPI的dafault路由不会将方法名称作为URL的一部分。

你只需使用“/ Categories”。 只要您使用HTTP GET方法调用“your.server.address / Categories”,将调用名称以“Get”开头的CategoriesController内的任何方法。 所以你应该使用:

<li>@Html.ActionLink("Categories", null, "Categories")</li>

但请注意,点击链接将显示(如果您使用默认设置),无论您在浏览器中以JSON身份返回的内容。

您可以阅读有关Asp.NET WebAPI路由here

的更多信息