2016-07-07 6 views
0

I 5 ASP.NET MVC mit einer Web-Anwendung zu machen, und meiner Ansicht nach Filmen und ihre Genres zur Liste bekomme ich diesen Fehler:ASP.NET - jQuery Tables angefordert unbekannten Parameter Fehler

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

Meinen Skript meiner Meinung nach:

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>"; 
        } 
       } 
      ] 

ich glaube, dass der genre.name Code das Problem. Das Genre-Modell hat einfach zwei Felder und nimmt seine Informationen aus der Datenbank. Danke für die Hilfe.

Hier ist die Methode get in my api/Filme Controller:

public IEnumerable<MovieDto> GetMovies() 
    { 
     return _context.Movies 
      .Include(m => m.GenreSet) 
      .ToList() 
      .Select(Mapper.Map<Movie, MovieDto>); 
    } 

Die MovieDto Klasse hat ein Mitglied Feld GenreSetDto, die aus meiner GenreSet Klasse zugeordnet worden ist.

Edit: Hier die Daten erhalte ich:

[ 
{ 
"id": 1, 
"name": "Hangover", 
"genreId": 0, 
"genre": null, 
"dateAdded": "2009-04-03T00:00:00", 
"releaseDate": "2009-02-03T00:00:00", 
"numberInStock": 5 
} 
] 

ich jetzt sehe, dass die Frage der GenreID Null ist, das, weil ich in der dem entspricht, nicht ein Genre haben null Datenbank. Die genreId sollte jedoch nicht Null sein, es sollte 2 sein, wie ich es in der Filmdatenbank zugewiesen habe.

+0

Sie haben 'name' und' genre.name' in Ihrer Datenantwort? – CMedina

+0

Ich bin mir nicht sicher, was das bedeutet, es tut mir leid. 'name' hat kein Problem, wenn ich die Seite lade, nur' genre.name'. – ecain

+0

Was ist die Rückkehr '/ api/Filme' ??? – CMedina

Antwort

1

Scheint wie die "Genre" -Eigenschaft ist nicht in Ihrem API-Aufruf enthalten, wenn Sie mit Entity Framework überprüfen, ob die generierten SQL-Tabellen enthalten ausländische Tabellen?

+0

Die Genre-Eigenschaft sollte enthalten sein, aber sollte es nicht? Das Filmmodell hat das Genre-Feld. Wie überprüfe ich, ob die generierte SQL-Tabelle eine Fremdtabelle enthält? – ecain

+0

Ich denke, dieser Artikel kann Ihnen helfen, bitte werfen Sie einen Blick https://msdn.microsoft.com/en-ca/data/jj574232.aspx –

Verwandte Themen