A lista de ligação de modelo do ASP.NET MVC 5 está vazia
Fiquei com esse problema por um tempo ..
Eu criei um modelo de visualização simples:
public class AddTranslationViewModel
{
public List<ProjectTranslation> ProjectTranslations { get; set; }
public AddTranslationViewModel()
{
ProjectTranslations = new List<ProjectTranslation>();
}
}
Classe ProjectTranslation:
public class ProjectTranslation
{
public int ProjectTranslationId { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Address { get; set; }
public int LanguageId { get; set; }
public Language Language { get; set; }
public int ProjectId { get; set; }
public Project Project { get; set; }
}
Uma visão simples que usa o AddTranslationViewModel
<table class="table">
@foreach (var item in Model.ProjectTranslations)
{
@Html.HiddenFor(modelItem => item.ProjectTranslationId)
<tr>
<td>
@Html.DisplayFor(modelItem => item.Language.LanguageCode)
</td>
<td>
@Html.EditorFor(modelItem => item.Title)
</td>
</tr>
}
</table>
<input type="submit" value="Send" />
e finalmente meu método POST:
public ViewResult AddTranslation(AddTranslationViewModel projectTranslations)
{
if (ModelState.IsValid)
{
//...
}
return View(projectTranslations);
}
A ideia é muito básica, quero mostrar uma lista de itens onde deve ser possível alterar / editar os valores.
No entanto, a ligação do modelo não está funcionando, o parâmetro projectsTranslations no HTTPPost-Method AddTranslation está sempre vazio.
Qual é o erro aqui?