2014-02-20 6 views
0

У меня есть этот код в View:Использование chosen.js я потерял элементы на POST

var writers = new List<Writer> { 
new Writer() { name = "Writer1", surname = "SWriter1" }, 
new Writer() { name = "Writer2", surname = "SWriter2" }, 
new Writer() { name = "Writer3", surname = "SWriter3" }, 
new Writer() { name = "Writer4", surname = "SWriter14" }, 
new Writer() { name = "Writer5", surname = "SWriter5" }, 
new Writer() { name = "Writer6", surname = "SWriter6" } 
}; 

    <div> 
       @Html.Label("Writers") 
       <select class="chosen-select" multiple="" data-placeholder="Select writers of the Film"> 
        @for(int i = 0; i < writers.Count; i ++) 
        { 
         <option value="@i">@writers[i].name</option> 
        } 
       </select> 
      </div> 

      <input type="submit" value="Create" /> 

Когда я нажимаю на кнопку отправки после выбора пару писателей я потерял элементы на POST. В контроллере я получаю другие элементы html, но не писатели. Это мой метод действия:

public ActionResult Create([Bind(Exclude = "poster, trailer")]Movie movie, HttpPostedFileBase poster, HttpPostedFileBase trailer) 

Моя модель:

[MetadataType(typeof(MovieMetadata))] 
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Movie") 
public partial class Movie : INotifyPropertyChanging, INotifyPropertyChanged 
    { 
      .....other fields of movie..... 

      private EntitySet<Movie_Writer> _Movie_Writers; 
    } 

class MovieMetadata 
{ 
    [ScaffoldColumn(false)] 
    public int id { get; set; } 

    [Required(ErrorMessage = "Title is required")]] 
    [StringLength(70, ErrorMessage = "Title must have a lenght less than 70")] 
    public string title { get; set; } 

    [Required(ErrorMessage = "The realese date of the movie is required")] 
    public DateTime releaseDate { get; set; } 

    public string storyline { get; set; } 

    public Binary poster { get; set; } 

    [ScaffoldColumn(false)] 
    public Binary trailer { get; set; } 
} 

Мне нужно добавить список писателей в моей модели и изменить метод действий ли? Movie_Writer - это промежуточные таблицы, потому что отношение много для многих.

ответ

0

попробовать это ...

Добавить Name атрибут в вашей select тега, так что вы можете получить данные в контроллере

Update

<select Name="YOUR_MODEL_NAME" Class=...> 
+0

вы можете объяснить более этот момент? – Zinov

+0

@ Zinov проверить отредактированный ответ, если он вам полезен – Nilesh

Смежные вопросы