I am stuck on this issue for a while.
I created a simple view model:
public class AddTranslationViewModel { public List<ProjectTranslation> ProjectTranslations { get; set; } public AddTranslationViewModel() { ProjectTranslations = new List<ProjectTranslation>(); } }
ProjectTranslation Class:
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; } }
A simple view that uses 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" />
and finally my POST method:
public ViewResult AddTranslation(AddTranslationViewModel projectTranslations) { if (ModelState.IsValid) {
The idea is very simple, I want to show a list of elements where it should be possible to change / change the values.
However, model binding does not work; the projectsTranslations parameter in the HTTPTost AddTranslation method is always empty.
What is the mistake here?
mitti source share