下列程式碼要如何更改才能配合它已經用OrderByDescending排序成功讓View上顯示了,可是要在View上面只顯示一筆資料而不是全部資料,如圖↓
意思是:第1張的圖片是現在呈現出來的,可是我真正想要的顯示是第2張圖(修改過的圖)
Controller的程式碼
public ActionResult Index()
{
string uid = User.Identity.Name;
string Permission = db.會員.Where(m => m.帳號 == uid).FirstOrDefault().權限;
ViewBag.Permission = Permission;
List<產品類別> category = new List<產品類別>();
foreach (var item in db.產品類別.OrderByDescending(m => m.修改日))
{
category.Add(new 產品類別()
{
類別編號 = item.類別編號,
類別名稱 = item.類別名稱,
編輯者 = item.編輯者,
修改日 = Sys.StringConverDateTimeString(item.修改日),
建立日 = Sys.StringConverDateTimeString(item.建立日)
});
}
return View(category);
Vies的程式碼
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.類別編號)
</td>
<td>
@Html.DisplayFor(modelItem => item.類別名稱)
</td>
<td>
@Html.DisplayFor(modelItem => item.編輯者)
</td>
<td>
@Html.DisplayFor(modelItem => item.建立日)
</td>
<td>
@Html.DisplayFor(modelItem => item.修改日)
</td>
<td>
@if (Permission.Contains("U"))
{
@Html.ActionLink("編輯", "Edit", new { cid = item.類別編號 }, new { @class = "btn btn-success" })
}
@if (Permission.Contains("D"))
{
@Html.ActionLink("刪除", "Delete", new { cid = item.類別編號 }, new { @class = "btn btn-danger", onclick = "return confirm('是否刪除?');" })
}
</td>
</tr>
}
改成只取一筆資料
public ActionResult Index()
{
string uid = User.Identity.Name;
string Permission = db.會員.Where(m => m.帳號 == uid).FirstOrDefault().權限;
ViewBag.Permission = Permission;
List<產品類別> category = db.產品類別.OrderByDescending(m => m.修改日)
.Take(1)
.Select(s => new 產品類別()
{
類別編號 = s.類別編號,
類別名稱 = s.類別名稱,
編輯者 = s.編輯者,
修改日 = Sys.StringConverDateTimeString(s.修改日),
建立日 = Sys.StringConverDateTimeString(s.建立日)
}).ToList();
return View(category);
}
成功了,謝謝解答
public ActionResult Index()
{
string uid = User.Identity.Name;
string Permission = db.會員.Where(m => m.帳號 == uid).FirstOrDefault().權限;
ViewBag.Permission = Permission;
List<產品類別> category = new List<產品類別>();
foreach (var item in db.產品類別.OrderByDescending(m => m.修改日).Take(1))
{
category.Add(new 產品類別()
{
類別編號 = item.類別編號,
類別名稱 = item.類別名稱,
編輯者 = item.編輯者,
修改日 = Sys.StringConverDateTimeString(item.修改日),
建立日 = Sys.StringConverDateTimeString(item.建立日)
});
}
return View(category);
選擇在View只列出一筆也是一種選擇,如果你有這種需求的話XD
OK