2016-09-19 2 views
-1

Ich versuche, eine Liste der Elemente in ASP.NET MVC-Ansicht mit Razors foreach Helfer anzuzeigen:Anzeigen einer Liste (Array) in einer bestimmten Reihenfolge in ASP.NET MVC

@foreach(var item in items) 
{ 
<div class="...">@item.SomeProp </div> 
} 

Die Artikel ist eine Liste von Objekten mit bestimmten Eigenschaften. Ich muss sie in einer bestimmten Reihenfolge anzeigen. Was ich gerade mache ist, dass ich eine Eigenschaft namens Order in dem Objekt habe und dann manuell einen Wert nach einer bestimmten Reihenfolge zuweisen möchte, aber mich gefragt habe, ob es bessere Lösungen gibt.

Dank

+1

Haben Sie die OrderBy-Erweiterungsmethode versucht? 'items.OrderBy (f => f.SomeProperty)'? – Shyju

+0

Also was ist das Problem dann? – Shyju

+0

@Shyju Hallo. Ich weiß, wie man die Artikel bestellt ... Zum Beispiel haben wir ein Objekt mit der Eigenschaft Bestellung. Irgendwo in einem Backend ordne ich eine Liste von Elementen wie folgt zu: Item1.Order = 1, Item2.Order = 3, Items3.Order = 2. Später ordne ich die Objekte nach Order-Eigenschaft (mit ext-Methode), wenn sie angezeigt würden in dieser Reihenfolge sein: * Artikel1 * Artikel3 * Artikel2 Meine Frage war, ob es Möglichkeiten gibt, sie anzuzeigen, ohne diese zusätzliche Order-Eigenschaft. Ich hoffe, ich war klar ... – user1346743

Antwort

0

Es könnte die gleiche sein wie das, was Sie mit Ihrer Bestellung Eigenschaft erwähnt, aber das letzte Mal, dass ich dies tun musste, habe ich eine Eigenschaft meiner Model-Objekt hinzugefügt, die nur lesbar war. So etwas (offensichtlich Pseudocode):

public List<whateverObjectGoesHere> OrderedList 
{ 
    get 
    { 
     //Sort list somehow 
     return orderedList; 
    } 
} 
+0

Im Grunde versuche ich eine Tabelle mit Zeilen in einer bestimmten Reihenfolge anzuzeigen, die nur Schleifen verwendet – user1346743

Verwandte Themen