ユーザーのコメントを表示する Web ページがあります。最近の 10 件を表示するようにページをデフォルト設定しています。下部で、ユーザーが [Show More] をクリックすると、さらに 10 個のコメントが下に表示されます。ユーザーはボタンを複数回クリックでき、そのたびに 10 件のコメントが下部に表示されます。問題は、ユーザーがもう一度下にスクロールする必要があることです。アンカーを使用して、最後に表示されたコメントを選択したいと考えています。
私の見解では、私は持っています:
@{ int i = 1; }
@foreach (var item in Model) {
<div class="Comment" id="Comment-@i">
@Html.DisplayFor(modelItem => item.CommentText)
</div>
i++;
}
@{int numCommentsToDisplay = 10;}
@if (Session["numCommentsToDisplay"] != null) {
numCommentsToDisplay = Convert.ToInt32(Session["numCommentsToDisplay"]);
}
@Html.ActionLink("Show More", "Index", new { numCommentsToDisplay = numCommentsToDisplay + 10 })
そして私のコントローラーには以下が含まれています:
public ActionResult Index(int numCommentsToDisplay = 10) {
this.HttpContext.Session.Add("numCommentsToDisplay", numCommentsToDisplay.ToString());
var latestComments = db.Comments.Take(numCommentsToDisplay).OrderByDescending(c => c.TimeStamp).ToList();
return View(latestComments);
}
ユーザーが初めて [もっと見る] をクリックすると、20 件のコメントが表示されます。11 件目のコメントを選択するにはどうすればよいですか? 私はすでにIDを設定しており、手動でナビゲートするとhttp://localhost:49208/Comment?numCommentsToDisplay=20#Comment-11
うまくいきます
ありがとう