【发布时间】:2014-06-05 08:39:48
【问题描述】:
我正在开发一个 asp.net MVC 5 应用程序。我创建了一个返回药物列表的 Web API 2 控制器。现在我想显示它们以供查看。我创建了另一个名为 homecontroller 和索引操作方法的控制器(因为我认为 api 控制器不能有操作方法)。我创建了索引视图。在这种观点中,我想展示药物清单。我点击了这个链接http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api
我正在尝试这段代码:
var uri = '/api/Medicines';
$(document).ready(function () {
// Send an AJAX request
$.getJSON(uri)
.done(function (data) {
// On success, 'data' contains a list of products.
$.each(data, function (key, item) {
// Add a list item for the product.
$('<li>', { text: formatItem(item) }).appendTo($('#products'));
});
});
});
但在浏览器控制台中得到 404。
这是 Web APi 控制器方法:
public class MedicinesController : ApiController
{
public IEnumerable<Medicine> GetMedicines()
{
Random rnd = new Random();
return medicines.OrderBy(x => rnd.Next()).ToList();
}
}
路线配置为:
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
请建议如何解决此问题。我需要 json 格式的药品清单。
谢谢
【问题讨论】:
-
你能显示你的路线配置吗?
-
请检查更新的问题
-
您在 Medicines 控制器中还有其他名称以“Get”开头的操作吗?
-
检查我的答案的更新。
标签: c# asp.net asp.net-mvc json razor