【发布时间】:2018-06-23 19:53:35
【问题描述】:
早上好。 我已经实现了添加回复的功能。 我在实施过程中有不明白的问题。 使用排序时使用 orderby。 我可以使用多个 orderbyes 吗? 目前我只按时间顺序排序。 因此,即使您回复,它也会上升到页面顶部。 您应该按列排序,回复将出现在单词下方。 如何使用多个 orderby? You should come to 1-1 under 1. And 1-2 should come under 1-1.
[HttpGet]
public ActionResult Notice(int? page)
{
var article = db.Articles.ToList().Where(c => c.Category == "공지사항").OrderByDescending(o => o.ModifyDate);
var pageNumber = page ?? 1;
var OnePageOfArticle = article.ToPagedList(pageNumber, 10);
ViewBag.OnePageOfList = OnePageOfArticle;
ViewBag.TotalCount = db.Articles.Where(c => c.Category == "공지사항").Count();
ViewBag.PageNumber = pageNumber;
return View();
}
查看:
<table class="footable table table-stripped toggle-arrow-tiny" data-page-size="3" id="table">
<thead>
<tr>
<th data-toggle="true" data-sort-ignore="true" width="10%" class="text-center">번호</th>
<th width="55%" class="text-center">제목</th>
<th data-hide="phone,tablet" class="text-center" width="auto">글쓴이</th>
<th data-hide="phone" class="text-center" width="auto">작성일</th>
</tr>
</thead>
<tbody>
@{
int i = 0;
int idx = 0;
}
@foreach (var item in ViewBag.OnePageOfList)
{
idx = ViewBag.TotalCount - ((ViewBag.PageNumber - 1) * 10) - i;
String str = "공지사항";
if (@item.Category.Equals(str))
{
var indent = 20 * item.Indent + "px";
<tr>
<td>@idx.ToString()</td>
<!--부모글-->
@if (item.Indent == 0)
{
<td class="text-left"><a href="/Board/Detail?aidx=@item.ArticleIDX">@item.Title</a></td>
}
<!--답글-->
@if (item.Indent != 0)
{
<td class="text-left" style="padding-left:@indent;"><a href="/Board/Detail?aidx=@item.ArticleIDX">└Re:@item.Title</a></td>
}
<td>
@if (item.ModifyMemberID == item.Members.ID)
{
@item.Members.Name;
}
</td>
<td>@Convert.ToDateTime(item.ModifyDate).ToString("yyyy.MM.dd")</td>
</tr>
}
i++;
}
</tbody>
<tfoot>
<tr>
<td colspan="6"><ul class="pagination pull-right"></ul></td>
</tr>
</tfoot>
</table>
控制器:
[HttpPost]
public ActionResult ReplyCreate(Articles articles)
{
{
if (TempData["aidx"] != null && TempData["family"] != null)
{
int aidx = Convert.ToInt32(TempData["aidx"]);
var parent = db.Articles.Where(a => a.ArticleIDX == aidx).FirstOrDefault();
var article = new Articles
{
Family = parent.Family,
Parent = parent.ArticleIDX,
Depth = parent.Depth + 1,
Indent = parent.Indent + 1,
Title = articles.Title,
Contents = articles.Contents,
Category = parent.Category,
ModifyMemberID = User.Identity.Name,
ModifyDate = DateTime.Now
};
db.Articles.Add(article);
db.SaveChanges();
return RedirectToAction("Notice");
}
return View();
}
}
【问题讨论】:
-
请看ThenBy
-
谢谢。当我第一次使用thenby时,我以为我有不同的方式。我想我以前应该犯过错误。
标签: asp.net entity-framework linq asp.net-mvc-5