我有一个具有各种属性的模型,但感兴趣的是另一种模型的列表。
例如:
public class User
{
public string Name { get; set; }
public string Description { get; set; }
public IEnumerable<UserInterest> Interests { get; set; }
}
然后,我在视图中使用编辑器模板为模型项的每个项呈现视图。
@Html.EditorFor(x => x.Interests)
EditorFor 模板类似于:
@model Interest
<div>
@Html.HiddenFor(x => x.Id)
@Html.TextBoxFor(x => x.InterestText)
@Html.CheckBoxFor(x => x.Delete)
....
</div>
与此处接受的答案非常相似:包含模型列表的模型(MVC-3,Razor)
我的问题是-您将如何从客户端(jQuery)在属性中创建一个新项目而不返回服务器。我目前有一个粗略的方法,即我将数据发布回我的控制器,控制器返回模型,并在 Interests 属性中添加一个新的空白项。
发出 HTTP 请求似乎有点过头了,而且不是很优雅。我正在考虑使用 jQuery .Clone() 但不完全确定在命名元素和清除现有值方面我需要做什么。
所以有没有人有任何建议。我希望得到更多的意见和不同的方法。