我定义了一部分视图,在加载时可能会或可能不会被ViewModel填充。然后用户进行一些交互,例如选择类别和产品并将它们添加到现有集合中。
他们设置此视图(这是部分视图): 用户选择类别 - >显示产品。 用户选择产品 - >将它们添加到它们的集合中。
由于用户可以转到上一页,该页面定义了要显示的类别并返回此页面;代码在模型中查找集合,如果产品集合在那里它会呈现它,如果没有任何反应。
我不知道如何通过jQuery追加到这个列表。如果没有现有元素,我知道如何创建一个新元素。
视图的部分定义如下:
<div class="span4 selected-products">
<h4>Products to track</h4>
<ul class="SelectedProducts">
@foreach (var item in Model.SelectedProducts)
{
<li class="network">@item.SelectedCategory.CategoryName
<div>
<ul>@foreach (var net in item.CategoryNetwork)
{
<li id="@net.CategoryNetwork.NetworkId"> @net.CategoryNetwork.NetworkName
<div>
<ul>
@foreach (var product in net.Products)
{
<li id="@product.ProdID">@product.ProdName</li>
}
</ul>
</div>
</li>
}
</ul>
</div>
</li>
}
</ul>
</div>
感谢您的帮助。
答案 0 :(得分:0)
@EditorFor(m => Model.SelectedProducts)
会做得很好。定义接收IEnumerable<yourtypeofproduct>
的{{3}},其中包含另一个@EditorFor(Model.CategoryNetwork)
和另一个具有相应类型的编辑器模板等....
它的约定优于配置。
希望这对你有所帮助。