【发布时间】:2012-09-29 00:39:54
【问题描述】:
我有一个显示用户 cmets 的网页。我默认页面显示最近的 10 个。在底部,当用户点击“显示更多”时,下方会出现另外 10 个 cmets。用户可以多次单击该按钮,每次底部会多显示 10 个 cmets。问题是用户必须再次向下滚动。我想使用锚点来选择显示的最后一条评论。
在我看来,我有:
@{ 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个cmets,如何选择第11条评论?我已经设置了 ID 并手动导航到 http://localhost:49208/Comment?numCommentsToDisplay=20#Comment-11 就可以了
谢谢
【问题讨论】:
标签: c# asp.net-mvc razor asp.net-mvc-4