Эта строка явно выдает InvalidCastException
, потому что вы пытаетесь привести анонимный тип из результата запроса к OrderDeliverySchedule
:
var DeliverySchedule = (List<Interisland.Areas.v2.Models.Sip.OrderDeliverySchedule>)ViewBag.DeliverySchedule;
Предполагается, что вы объявили эту модель представления:
public class ViewModel
{
// other properties
public List<OrderDeliverySchedule> DeliverySchedule { get; set; }
}
public class OrderDeliverySchedule
{
public string split_date { get; set; }
public string split_hour { get; set; }
public string split_qty { get; set; }
public string remarks { get; set; }
}
Затем вы должны вернуть имя класса viewmodel внутри результатов запроса, например:
Контроллер
var model = new ViewModel();
// other stuff
model.DeliverySchedule = ExistingSchedule.Select(m => new OrderDeliverySchedule
{
split_date = string.Format("{0:dd-MMM-yyyy}", m.split_date),
split_hour = m.split_hour,
split_qty = string.Format("{0:N2}", m.split_qty),
remarks = m.remarks
}).ToList();
return View(model);
View
@model ViewModel
@{
var DeliverySchedule = Model.DeliverySchedule;
}
В качестве примечания следует избегать использования ViewBag
для передачи коллекций, поскольку ViewBag
содержимое разрешается во время выполнения и требует дополнительного приведения для получения содержимого с правильным типом, вместо этого используйте строго типизированные свойства viewmodel.