gpt4 book ai didi

c# - 如何在 MVC 4 中使用 HTML anchor ?

转载 作者:行者123 更新时间:2023-11-30 21:03:32 25 4
gpt4 key购买 nike

我有一个显示用户评论的网页。我默认页面显示最近的 10 个。在底部,当用户点击“显示更多”时,下方会出现另外 10 条评论。用户可以多次点击该按钮,每次都会在底部显示 10 条评论。问题是用户必须再次向下滚动。我想使用 anchor 来选择显示的最后一条评论。

在我看来,我有:

@{ 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 })

我的 Controller 包含:

 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);
}

当用户第一次点击'Show More'时,会显示20条评论,如何选择第11条评论?我已经设置了 ID 并手动导航到 http://localhost:49208/Comment?numCommentsToDisplay=20#Comment-11 就可以了

谢谢

最佳答案

我已经解决了我自己的问题哇!

我发现 Html.ActionLink() 的重载正好可以完成这项工作:

public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
string protocol,
string hostName,
string fragment,
Object routeValues,
Object htmlAttributes
)

所以我将我的 anchor 作为片段传入:

@Html.ActionLink("Show More", 
"Index",
"Comment",
null,
null,
String.Format("Comment-{0}", numCommentsToDisplay + 1),
new { numCommentsToDisplay = numCommentsToDisplay + 10},
null
)

我在这里找到了答案:Including an anchor tag in an ASP.NET MVC Html.ActionLink

感谢大家的参与

关于c# - 如何在 MVC 4 中使用 HTML anchor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12787213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com