Использование Orchard 1.6 MVC Я хотел отобразить список «поставщиков» на экране. Для каждого поставщика отобразите список своих продуктов и оставшееся количество.Использование словаря для отображения значений в VIEW
Supplier 1
product 101
product 102
supplier 2
product 103
product 104
product 105
etc...
Моего ViewModel
public class SuppliersOrderVM
{
public IEnumerable<SupplierInfo> SupplierInformation = new List<SupplierInfo>();
public Dictionary<int, QBSupplierRecord> Suppliers { get; set; }
public Dictionary<int, QBProductRecord> Products { get; set; }
public SuppliersOrderVM(IEnumerable<SupplierInfo> supplierInformation, Dictionary<int, QBSupplierRecord> suppliers, Dictionary<int, QBProductRecord> products)
{
SupplierInformation = supplierInformation;
Suppliers = suppliers;
Products = products;
}
public class SupplierInfo
{
public int SupplierId { get; set; }
public bool SendEmail { get; set; }
public List<ProductInfo> Products = new List<ProductInfo>();
}
public class ProductInfo
{
public int ProductId { get; set; }
public int Quantity { get; set; }
}
}
Таким образом, в представлении Ive используется словарь для вывода имени поставщика. Но у меня возникают проблемы с выпуском продуктов для этого поставщика. Мой второй цикл foreach может быть неправильным, и мой синтаксис неверен для отображения продукта. Пожалуйста, помогите мне изменить это
@{
foreach (var supplier in Model.SupplierInformation)
{
<div class="editor-label">@Html.Label("SupplierName")</div>
<div class="editor-label">@Model.Suppliers[supplier.SupplierId].CompanyName</div>
@* <div class="editor-label">@Html.HiddenFor(s => s.SupplierInfor[0].</div>*@
foreach (var product in Model.SupplierInformation)
{
//create table and output product code & product Quantity
<div class="editor-label">@Model.Products[product.Products].ProductCode</div>
Это говорит мне [product.Products] имеет некоторые недопустимые аргументы.
спасибо за ответ jonni – John