【发布时间】:2011-06-25 00:55:38
【问题描述】:
我现在已经阅读了很多文章,从 Phil Haacks 的“模型绑定到列表”到 Steve Sanderson 的“编辑可变长度列表”,现在我正在尝试解决我的问题 - 但是我无法真正让它工作.
我有两个模型 - 订单和文章。一个订单有很多文章。订单视图包含一个文章表。
目前,我正在使用我的订单视图模型中的 EditorFor(model => model.Articles) 创建第一个表格行。
它识别 Articles 是一个列表并返回正确的列表项。到目前为止,一切都很好。
现在我想要一个将文章添加到表行的链接,但通过向控制器使用 AJAX 请求,然后返回部分视图(仅包含文章表行)。我已经使用本教程完成了这项工作:http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
但是,我的问题是我不知道如何在 ASP.NET MVC“样式”中继续文章行序列,以便在提交时得到识别。 (例如 Articles[1].Number Articles[2].Number 等)
这是我的代码。 “添加文章”链接应添加文章并向 /orders/BlankArticleRow 发送 ajax 请求
public ActionResult BlankArticleRow(int pos)
{
Article article = new Article()
{
Position = pos
};
return View(article);
}
BlankArticleRow 的部分视图如下所示:
@model Bestellinterface.Models.Article
@{
Layout = null;
}
@Html.EditorFor(model => model)
工作正常。当我单击“添加文章”链接时,该行被添加,但是文本字段等的属性没有正确的格式。我想要的是它继续对 html 元素进行编号,Articles[0].Number,Articles[1].Number,Articles[2].Number ...
EditorFor 有可能吗?有没有办法模拟一个列表,让它保持编号?
【问题讨论】: