gpt4 book ai didi

asp.net-mvc - 具有部分 View 的 MVC 分页

转载 作者:行者123 更新时间:2023-12-02 10:25:09 27 4
gpt4 key购买 nike

我是一个相对较新的 MVC 用户,并且很难让分页在 MVC 中正常工作。

基本上,我有大量搜索结果,这些结果在部分 View 中呈现(使用像这样的开始表单方法):

using (Ajax.BeginForm("Search", "Home", new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults",
}))
{
<input type="text" name="searchString" />
<input type="submit" value="Search" />
}

部分 View 的渲染如下:

@foreach (var item in @Model)

{

<li>@Html.ActionLink(item.Name, "Result/" + item.Id, "Result")</li>

}

@{if(ViewBag.HasPrevious)
{
@Html.ActionLink("<<", "Search", new { searchString = ViewBag.query, page = ViewBag.CurrentPage-1 })
}
}

@{if(ViewBag.HasNext)
{
@Html.ActionLink(">>", "Search", new { searchString = ViewBag.query, page = ViewBag.CurrentPage+1 })
}
}

我的问题是 >> 或 << 链接只是创建一个空白页面,其中包含结果列表,并且不会保留“顶部”索引页面的标记。

有人对此有什么想法吗?

注意,我是这个网站的新手,我会对任何答案都投赞成票。

最佳答案

Html.ActionLink 生成一个普通 anchor 。当您单击此 anchor 时,它只是将浏览器重定向到此链接指向的地址。这就是您在新窗口中看到部分内容的原因。

如果您只想刷新页面的一部分而不重定向,您可以使用 AJAX 链接 (Ajax.ActionLink):

@Ajax.ActionLink(
"<<",
"Search",
new {
searchString = ViewBag.query,
page = ViewBag.CurrentPage - 1
},
new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults"
}
)

关于asp.net-mvc - 具有部分 View 的 MVC 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10396145/

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