我坚持在这个问题上一会儿..ASP.NET MVC 5模型绑定列表为空
我创建了一个简单的视图模型:
public class AddTranslationViewModel
{
public List<ProjectTranslation> ProjectTranslations { get; set; }
public AddTranslationViewModel()
{
ProjectTranslations = new List<ProjectTranslation>();
}
}
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; }
}
它使用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" />
一个简单的视图
最后我POST方法:
public ViewResult AddTranslation(AddTranslationViewModel projectTranslations)
{
if (ModelState.IsValid)
{
//...
}
return View(projectTranslations);
}
的想法是非常基本的,我想说明的项目,它应该是可以改变/编辑值的列表。
但是,模型绑定不起作用,HTTPPost-Method AddTranslation中的projectsTranslations参数始终为空。
这里有什么错误?
确保您使用投递到此页面<形式方法=“POST”> – adeel41
尝试了一切,现在是这样的:@using(Html.BeginForm()) – mitti
是Get和Post Action方法的名称是否相同?并确认你是否在你的帖子操作方法中使用了[HttpPost] – adeel41