Как редактировать / обновить свойство внутри IEnumerable <T>в ASP.NET MVC 2 - PullRequest
0 голосов
/ 15 апреля 2011

Мой сервисный уровень возвращает IEnumerable<ResortsView> моему контроллеру. ResortsView класс содержит IList<ProductView> (ResortProducts). Уникальный идентификатор для ResortsView является SupplierID. Как только я переберу IEnumerable<ResortsView> и покажу свои результаты в пользовательском интерфейсе, основываясь на действиях пользователя, мне потребуется REFRESH ResortProducts (IList<ProductView>) с ОБНОВЛЕННЫМИ данными из моего хранилища данных, и я буду использовать AJAX для поездки в хранилище данных, чтобы восстановить ОБНОВЛЕННЫЕ данные. По сути, я хотел бы запросить IEnumerable<ResortsView> по SupplierID и заменить ResortProducts для этого конкретного поставщика данными, возвращенными вызовом AJAX.

Как я могу ЗАМЕНИТЬ IList<ProductView> ResortProducts другим IList<ProductView> (который я получу, используя AJAX) для конкретного поставщика (используя идентификатор поставщика в качестве ключа) внутри IEnumerable<ResortsView>?

Вот фрагмент кода моих объектов / классов:

[Serializable]
public class ResortsView : SupplierView
{
    public IList<ProductView> ResortProducts { get; set; }
    public string CheckInTime { get; set; }
    public string CheckOutTime { get; set; }
    public virtual IList<ImageView> Images { get; set; }
}

[Serializable]
public class SupplierView
{
    public string SupplierID { get; set; }
    public string SupplierName { get; set; }
    public string Description { get; set; }
    public string Rating { get; set; } 
    public string URL { get; set; }
}

[Serializable]
public class ProductView
{
    public string Code { get; set; }
    public string Description { get; set; }
    public decimal? Price { get; set; }
    public ErrorView PricingError { get; set; }
}

1 Ответ

0 голосов
/ 15 апреля 2011

Внутри IEnumerable<ResortsView>? это должно быть легко:

foreach(var resort in resorts) {
    resort.ResortProducts = ....
}

, который должен работать как a: у вас есть set (что необычно для списка; я не рекомендую его) и b: это не должно нарушать итератор (добавление / удаление / etc к базовому список (и т. д.) курортов сломал бы итератор).

...