0
我正在处理MVC3项目,目前我正在用viewmodel中的列表来拼凑。我希望能够将项目添加到列表中,而无需执行我的主视图的后置(后退)。当我按下提交按钮时,我希望viewmodel包含我列表中的项目。在视图模型内编辑嵌套列表
完成此功能的最佳方法是什么?
由于提前,
我正在处理MVC3项目,目前我正在用viewmodel中的列表来拼凑。我希望能够将项目添加到列表中,而无需执行我的主视图的后置(后退)。当我按下提交按钮时,我希望viewmodel包含我列表中的项目。在视图模型内编辑嵌套列表
完成此功能的最佳方法是什么?
由于提前,
该解决方案最初是写给MVC2但在MVC 3工程和4
http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
更新
如果你不希望使用@ Html.BeginCollectionItem你不必。使用以下内容同样适用:
@for (int i = 0; i < Model.Items.Count; i++)
{
@*
You can replace this line with whatever you require but
for simplicity I prefer to create an editor template for the sub type
*@
@Html.EditorFor(m => m.Items[i])
}
那么你告诉我的是,你需要一个扩展来完成这种行为?我会测试这个例子,但很难相信没有其他方法。 – Ian 2013-03-26 09:19:37
你指的是BeginCollectionItem吗?你也可以使用for循环。我会更新我的答案 – NinjaNye 2013-03-26 09:23:23
感谢您更新您的答案,但您提供的更新不是我所苦苦挣扎的,主要问题是与控制器的沟通。我正在编辑的项目相当复杂,无法使用editorfor进行渲染。 – Ian 2013-03-26 09:39:24