我正在使用ASP.NET MVC 4,但我不认为这个问题的目的是重要的。如何在ASP.NET MVC中编辑列表时保留输入ID?
我的编辑视图有一个相对复杂的模型。就像这样:
public class Recipe_model
{
public string Name { get; set; }
public List<Recipe_Ingredient_model> Ingredients { get; set; }
}
其中主料是
public class Recipe_Ingredient_model
{
public int RecipeID { get; set; }
public int? UnitID { get; set; }
public double? Quantity { get; set; }
public Ingredient_model Ingredient { get; set; }
}
它本身包含的成分模型。
当我为此创建表单时,内置Html.EditorFor()
不适用于任何超过Recipe_model
属性的内容,因此我使用部分视图来显示每个子模型的编辑器。
这工作正常尽可能的接口出现,但是当我提交表单到控制器,并尝试绑定到Recipe_model
使用自动
[HttpPost]
public ActionResult Edit(Recipe_model model)
{
return View(model);
}
它失败,因为输入元素的部分的ID视图不符合正确的模式(我认为ParentModel_Property)。
通过在控制器中对部分视图中的ID进行硬编码或从FormCollection
手动进行绑定的简称,是否有某种方法可以在部分视图中获取正确的ID,以便模型在提交时自动绑定?
你可以发布你的部分视图的代码? – nemesv