2013-07-04 4 views
1

apprentissage MVC4/C#. simplement en essayant de poster une liste de films sur le contrôleur, mais c'est nul. Est-ce que je définis les classes correctement?contrôleur n'acceptant pas les valeurs du modèle

Je le modèle suivant

namespace videostore.Models 
{ 

    public class MovieSummary 
    { 
     public List<Movie> Movies { get; set; } 
    } 

    public class Movie 
    { 
     public string name { get; set; } 
    } 
} 

suivant contrôleur

[HttpPost] 
    public ActionResult SaveMovies(MovieSummary movieList) 
    { 

    } 

et le code html

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("form").submit(function (e) { 
      e.preventDefault(); 
      $.post('/SaveMovies', $('form').serialize(), function (data) { 
      }); 
     }); 
    }); 
</script> 

<form> 
     <input type="hidden" name="movie" value="Man of Steel" /> 
     <input type="hidden" name="movie" value="The Dark Knight" /> 
     <input type="hidden" name="movie" value="Iron Man" /> 
     <input type="submit" name="submit" value="submit" /> 
</form> 
+0

Pouvez-vous essayer pour tous les noms de boîtes de texte en tableau comme name = "movie []" –

+0

Pourriez-vous s'il vous plait montrer les codes de la méthode Get. –

+0

il n'y a pas get méthode – totalnoob

Répondre

0

essayer .. J'espère que ça va travailler

<form> 
     <input type="hidden" name="movieList[0].name" value="Man of Steel" /> 
     <input type="hidden" name="movieList[1].name" value="The Dark Knight" /> 
     <input type="hidden" name="movieList[2].name" value="Iron Man" /> 
     <input type="submit" name="submit" value="submit" /> 
</form> 

Voir plus de détails à here

0
suivant

Le contrôleur n'accepte pas les valeurs pourraient être parce que votre nom de propriété et le nom du contrôle est différent. Essayez de changer votre classe Movie et la forme comme celui-ci

public class Movie 
{ 
    public string movieName { get; set; } 
} 


<form> 
     <input type="hidden" name="movieName" value="Man of Steel" /> 
     <input type="hidden" name="movieName" value="The Dark Knight" /> 
     <input type="hidden" name="movieName" value="Iron Man" /> 
     <input type="submit" name="submit" value="submit" /> 
</form> 
+0

qui fonctionne, mais le contrôleur accepte uniquement la première valeur, je dois être en mesure de recueillir tous dans un modèle comme une liste – totalnoob

Questions connexes