DisplayFor при обикаляне на колекция


2

Здравейте хора,
Един бърз въпрос.

Някой знае ли как е синтакса за използване на DisplayFor() когато обикаляме колекция.

Ето супер проста ситуация:

View:

@model IEnumerable<Application.Web.Models.PersonViewModel>
 
<div>
    @foreach (var person in Model)
    {
        @Html.DisplayFor(person => person.Age)
    }
</div>
 
DisplayTemplate:
@model Int32
 
@if (@Model > 80)
{
    <span class="text-danger">@Model</span>
}
else
{
    <span class="text-success">@Model</span>
}
 
Това нещо още на ниво синтакс - не работи и се чудя как е синтакса когато искаме да използваме при foreach ?
Ето и контролера:
 
        public ActionResult Index()
        {
            var personList = new List<PersonViewModel>()
            {
                new PersonViewModel 
                {
                    Name = "Gosho",
                    Age = 88
                },
                new HeroViewModel 
                {
                    Name = "Atanas",
                    Age = 55
                },
 
            };
            return View(personList);
        }

 


в ASP.NET MVC от nzhul (3415 точки)


Отговори



0
Здрасти Дидо, това DisplayFor() ми изглежда като филтър, като да очаква булев израз, нещо като where клаузата в SQL -a

от bgotov (1559 точки)


0
Погледни ето тази тема:
http://stackoverflow.com/questions/11261590/mvc-razor-foreach

от Teodor92 (13062 точки)


0
@Html.DisplayFor(personModel => person.Age)



0
@Nikolay82 Работи :D Друг е въпроса, че незнам защо. Благодаря ти много :)

от nzhul (3415 точки)


0
Ми тая функция се превежда до Function(Model personModel){return person.Age}.В случая параметъра дали ще е personModel, или нещо друго е без значение, тъй като item не ти идва от обекта person, а от колекцията с person-и.Тая функция mvc енджина не я екзекютва, а парсва експрешъна =>person.Age



0
Само, за да потвърдя темата на @Teodor Kurtev 1 - Basically everytime you write a loop in your view an alarm should ring in your head telling you that you are doing it wrong and there's a much better way - http://stackoverflow.com/questions/14286132/razor-view-with-nested-model-class#answer-14287219

от todor (5058 точки)