2017-08-04 51 views
0

我有一個Web應用程序,用戶可以在主頁上發佈項目。目前,主頁上的項目從最早的日期到最新的日期列出。這不好,因爲用戶希望在訪問主頁時查看最近的帖子。如何列出帖子從最新到最舊在ASP.NET MVC5

我在我的發佈模型中有一個DatePosted屬性,用於跟蹤發佈的時間和日期。如何使用該屬性按最新到最舊排序?

這裏是我的用語,使用戶可以在主頁面,在這裏他們可以看到的帖子:

// GET: Posts 
public ActionResult Index() 
{ 
    var posts = db.Posts.ToList(); 

    return View(posts); 
} 

的觀點:

@model IEnumerable<DothanTrader.Models.Post> 

@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 



@{ 
    int i = 5; 
} 
<div class="row"> 
    @foreach (var item in Model) 
    { 
     if (i == 5) 
     { 
      @:</div><div class="row"> 

      i = 1; 
     } 
     <div class="col-md-3"> 
      <div class="panel panel-default"> 
       <div class="panel-heading"> 
        @Html.ActionLink(@item.Title, "Details", "Post", new { id = item.PostId }, null) 
       </div> 
       <div class="panel-body" style="min-height: 200px; max-height: 200px; "> 
        <img src="@Url.Content("~/Content/images/" + System.IO.Path.GetFileName(item.Image))" alt="" class="img-responsive" /> 
       </div> 
       <div class="panel-footer"> 
        <span class="glyphicon glyphicon-eye-open"> @item.Views</span> | <span class="glyphicon glyphicon-usd"> @item.Price</span> 
        <div class="pull-right"> 
         <span>@item.DatePosted.Value.ToShortDateString()</span> 
        </div> 
       </div> 
      </div> 
     </div> 
     { i++; } 
    } 
</div> 

模型(萬一你需要它):

public class Post 
    { 
     public int PostId { get; set; } 
     public string Title { get; set; } 
     public string Description { get; set; } 
     public DateTime? DatePosted { get; set; } 
     public string Image { get; set; } 
     public float Price { get; set; } 
     public int Views { get; set; } 
     public int Likes { get; set; } 
     public virtual ApplicationUser ApplicationUser { get; set; } 
     public string ApplicationUserId { get; set; } 
    } 

回答

0

使用db.Posts.OrderByDescending(p => p.DatePosted).ToList()

+0

不錯。完美工作。 – Michael

+0

@Michael如果它解決了您的問題,請將其標記爲答案。謝謝 – Shahzad

+0

我會的。當我試圖接受答案時,它總是告訴我等待五分鐘。 – Michael

相關問題