Wątek przeniesiony 2015-03-10 16:21 z C# i .NET przez somekind.

Typ widoku a widoki

0

Witam,

Mam takie pytanie, że w kodzie źródłowym widoku nie mogę odnieść się do innego modelu niż macierzysty jeśli typem widoku jest IEnumerable.

@model IEnumerable<Project.Models.Customer>
(...)
@foreach (var q in Model.Days)
{
@q.notication
}
@model Project.Models.Customer
(...)
@foreach (var q in Model.Days)
{
@q.notication
}

No i w tym poniższym przykładzie jest wszystko ok, natomiast w tym wyżej, kompilator podkreśla mi czerownym wężykiem "Days".
Jak sobie z tym poradzić? Jak to obejść, jeśli typ widoku musi być IEnumerable?

1

Ale rozumiesz, że Model jest tego typu co zadeklarujesz, że ma być i że IEnumerable<T> nie ma czegoś takiego jak Days?

Jeśli chcesz przeiterować po wszystkich dniach każdego klienta to zrób po prostu foreach(var day in Model.SelectMany(x => x.Days))..

0

Rozumiem to, ale przecież mam dwa Modele, jeden Customers drugi Days i jeśli typ widoku nie jest IEnumerable<>, to mogę odnieść się do modelu Days.

0

jak to masz dwa modele? Możesz się odnieść do Days bo zapewne w klasie Project.Models.Customer masz takiego properta jak Days. IEnumerable to wiele elementów - musisz najpierw wybrać który model z tych wielu Cię interesuje

0

@Mały Samiec
Witki opadają. Zaczynamy tu: ASP.NET MVC - Getting Started. Potem pytamy na forum.

0

Ok, wracam do lektury.
Dzięki i przepraszam

0
@model IEnumerable<Project.Models.Customer>
(...)
@foreach (var c in Model)
{
    foreach(var d in c.Days)
    {
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1