2010-10-11 23 views
0

J'ai un problème avec mon viewmodel. J'ai DropDownList avec beaucoup de valeurs de translation (modèle here)Comment passer viewmodel au contrôleur?

Dans mon contrôleur - HttpGet:

public ActionResult Edit(int id) { 

      int DropDownListValueId = id; 

      SelectListViewModel viewmodel = new SelectListViewModel(0, DropDownListValueId);   

      return View(viewmodel); 

     } 

À mon avis:

<% using (Html.BeginForm()) 
     {%> 
     <%: Html.ValidationSummary(true)%> 

     <fieldset> 
      <legend>Fields</legend>  

      <%foreach (var item in Model.DropDownListValue.DropDownListValue_Translation) 
       {%>     
        <%: Html.TextBoxFor(model => item.Name) %><br />   

      <% } %> 

      <p> 
       <input type="submit" value="Save" /> 
      </p> 
     </fieldset> 

    <% } %> 

Dans mon contrôleur, HttpPost:

[HttpPost] 
public ActionResult Edit(SelectListViewModel viewmodel) 
{     
    return View(); 
} 

Mon problème: les données ne sont pas t passé dans httppost; Je pense que le problème est foreach à mon avis?

+0

Nodoby pour m'aider? – Akawan

Répondre

0

À mon avis, dactylographiées viewmodel:

<legend>Contacts</legend> 
     <% for (int i = 0; i < Model.Contacts.Count; i++) { %> 

      <%: Html.EditorFor(model => model.Contacts[i],"Contact") %> 

     <% } %> 

Avec cela, je lie ma liste au contrôleur!