我使用ASP.NET MVC 5使Web应用程序,在我看来,列出电影和他们的风格我得到这个错误:ASP.NET - jQuery的数据表要求的未知参数错误
DataTables warning: table id=movies - Requested unknown parameter 'genre.name' for row 0, column 1. For more information about this error, please see http://datatables.net/tn/4
我的脚本在我看来:
var table = $("#movies").DataTable({
ajax: {
url: "/api/movies",
dataSrc: ""
},
columns: [
{
data: "name",
render: function(data, type, movie) {
return "<a href='/movies/edit/" + movie.id + "'>" + movie.name + "</a>";
}
},
{
data: "genre.name"
},
{
data: "id",
render: function(data) {
return "<button class='btn-link js-delete' data-movie-id=" + data + ">Delete</button>";
}
}
]
我认为genre.name
代码是问题。流派模型只有两个字段,并从数据库中获取信息。感谢您的帮助。
这里是我的API /电影控制器get方法:
public IEnumerable<MovieDto> GetMovies()
{
return _context.Movies
.Include(m => m.GenreSet)
.ToList()
.Select(Mapper.Map<Movie, MovieDto>);
}
的MovieDto
类有已经从我的GenreSet
类映射到一个成员字段GenreSetDto
。
编辑: 这是我得到的数据:
[
{
"id": 1,
"name": "Hangover",
"genreId": 0,
"genre": null,
"dateAdded": "2009-04-03T00:00:00",
"releaseDate": "2009-02-03T00:00:00",
"numberInStock": 5
}
]
我现在看到,这个问题是genreId为零,因为我没有对应的是,在一个流派是空数据库。 genreId不应该是零,但它应该是2,因为我在电影数据库中分配它。
你在你的数据响应中有'name'和'genre.name'? – CMedina
我不确定这是什么意思,我很抱歉。 'name'在加载页面时没有问题,只有'genre.name'。 – ecain
什么是返回'/ api /电影'? – CMedina