1

MVC4/C#を学んでいます。映画のリストをコントローラーにポストしようとしているだけですが、それはnullです。クラスを適切に定義していますか?

私は次のモデルを持っています

 namespace videostore.Models
 {

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

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

次のコントローラー

    [HttpPost]
    public ActionResult SaveMovies(MovieSummary movieList)
    {

    }

そして次の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>
4

2 に答える 2

0

プロパティ名とコントロール名が異なるため、コントローラーが値を受け入れていない可能性があります。Movie クラスとフォームを次のように変更してみてください

 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>
于 2013-07-04T04:57:13.760 に答える