2016-07-07 51 views
0

我使用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,因爲我在電影數據庫中分配它。

+0

你在你的數據響應中有'name'和'genre.name'? – CMedina

+0

我不確定這是什麼意思,我很抱歉。 'name'在加載頁面時沒有問題,只有'genre.name'。 – ecain

+0

什麼是返回'/ api /電影'? – CMedina

回答

1

似乎「流派」屬性不包含在您的api調用中,如果您使用實體框架檢查生成的sql是否包含外部表?

+0

風格屬性應該包括,但不應該嗎?電影模型具有流派領域。如何檢查生成的sql是否包含外部表? – ecain

+0

我覺得這篇文章可以幫到你,請看看 https://msdn.microsoft.com/en-ca/data/jj574232.aspx –

相關問題