0

我的应用程序将用于接受/编辑保修索赔。在保修索赔中,用户可以提交多个“部分”作为索赔的一部分。我的模型包含 WarrantyParts 的 IEnumerable<> - 我创建了一个包含以下内容的视图模型:

public class WarrantyClaimViewModel
{
    public int WarrantyClaimId { get; set; }

    public int UserId { get; set; }
    public DateTime DateCreated { get; set; }

    [Display(Name = "Claim Status")]
    public string Status { get; set; }

    ... other model data omitted for brevity ...

    public IEnumerable<WarrantyClaimPart> WarrantyClaimParts { get; set; }
}

我的问题是如何构建允许用户填充保修部件集合的视图?他们可以输入一个或 100 个单独的部分;我想创建一个视图,用户可以在其中单击“添加部件”按钮,然后会出现一组新的文本框。也就是说,我想将文本框动态添加到现有视图中,而不是仅用于保修部分的单独视图。

部分视图是否符合此要求,或者我应该为零件创建单独的视图(不是我想要做的,但可能是最好的方法)?我在这里寻找最佳实践。一个例子会很棒——我喜欢视觉效果。

谢谢你!

4

1 回答 1

1

部分视图绝对适合您尝试做的事情 - 您可以将视图强烈键入到 WarrantyClaimParts 的集合中。

作为替代方案的一部分(由于 UI 改进,我喜欢一个)是使用类似Knockout.js的东西来允许编辑模型并一次性提交。查看教程使用列表和集合以及教程加载和保存数据。那里有一些非常棒的示例(包括代码!),它们应该可以满足您的需求。它的可用性非常好,而且非常易于使用。(根据您的意见,这符合您的 Ajax 解决方案要求。)

于 2012-11-20T19:50:48.723 回答