2014-11-19 2 views
0

Я новичок в MVC 4, и я пытаюсь выяснить, как упорядочить список, создаваемый при чтении из модели.Заказ элементов из модели в списке C#

Здесь код модель:

public class Files 
{ 
    [Key] 
    public int File_id { get; set; } 
    public string Original_file_name { get; set; } 
    public string Current_file_name { get; set; } 
    public string Description { get; set; } 
    public string File_path { get; set; } 
    public string File_type { get; set; } 
    public string File_status { get; set; } 
    public DateTime Expiry_date { get; set; } 
    //public int Uploaded_by { get; set; } 
    //public DateTime Uploaded_on { get; set; } 
} 

public class FilesContext : DbContext 
{ 
    public DbSet<Files> Files { get; set; } 
} 

Здесь код контроллера, который создает список:

return View(db.Files.ToList()); 

Наконец HTML, который записывает его на экран:

@foreach (var item in Model) { 
<tr> 
    <td> 
     @Html.DisplayFor(modelItem => item.Original_file_name) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Current_file_name) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.File_type) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.File_status) 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Expiry_date) 
    </td> 
    <td> 
     @Html.ActionLink("Details", "Details", new { id=item.File_id }) | 
     <[email protected]("Test", "Test", new { id=item.File_id }) |--> 
     @Html.ActionLink("Delete", "Delete", new { id=item.File_id }) 
    </td> 
</tr> 
} 

ответ

2

Сортировать по Имя файла По возрастанию:

db.Files.OrderBy(file => file.Original_file_name).ToList(); 

заказа по имени файла обрушиваются:

db.Files.OrderByDescending(file => file.Original_file_name).ToList(); 

Multiple Заказывайте:

db.Files.OrderBy(file => file.Original_file_name).ThenBy(file => file.Expiry_date).ToList(); 

Вы также можете обратиться: MSDN: LINQ Sorting Operations

1

Нравится:

db.Files.OrderBy(f => f.Expiry_date).ToList(); 

или

db.Files.OrderByDescending(f => f.Expiry_date).ToList(); 
+0

Добавить ведущую строку, а также объяснить, почему ваш ответ будет работать. –

1
return View(db.Files.OrderBy(col=>col.Expiry_date).ToList()); 

Или заменить EXPIRY_DATE с любым другим столбцом, который требуется сортировка.