2013-07-04 43 views
1

學習MVC4/C#。只是試圖將電影列表發回控制器,但它是空的。我是否正確定義類?控制器不接受模型值

我有以下型號

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> 
+0

你可以嘗試所有的文本框的名稱作爲陣列狀name =「movie []」 –

+0

請您顯示Get方法的代碼。 –

+0

沒有獲得方法 – totalnoob

回答

0

試試這個..我希望它會工作

<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> 

看到更多細節在here

0

控制器不接受該值可能是因爲你的屬性名稱和控制名稱是不同的。試着改變你的電影類,並形成這樣的

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

的工作,但控制器只接受第一個值,我需要能夠收集一個模型中的所有列表作爲列表 – totalnoob