【发布时间】:2021-09-20 10:25:23
【问题描述】:
我需要创建包含带有分页、排序和搜索的表格的视图。我从后端 api 获取数据,然后将其传递给视图。
我的操作方法如下所示:
public async Task<IActionResult> Home(int page = 1)
{
var list = await _service.Get<List<Model.Rezervacija>>(page);
ViewBag.Page = page;
return View(list);
}
我有这样的看法:
@using eBiblioteka.Model
@model List<Rezervacija>
@{
ViewBag.Title = "Home";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div id="view-all">
@await Html.PartialAsync("_ViewAll", Model, null)
</div>
<a asp-action="Home" asp-route-page="@(ViewBag.Page - 1)">Previous</a>
<a asp-action="Home" asp-route-page="@(ViewBag.Page + 1)">Next</a>
一切正常。不要注意显示这样的页码并更改上一个和下一个,我只是想简化我的问题。所以当我点击下一页时,数据变化和表格也更新得非常快,这不是问题。
那么在 asp .net 核心中是否有任何解决方案可以做到这一点而不会看到该页面重新加载。我需要再次调用我的操作来更改这个参数“页面”,然后从 api 获取新数据,而不会看到那个丑陋的页面重新加载。 感谢您提供所有解决方案。
【问题讨论】:
-
只是检查一下,我看到了 blazor 标记,但你是在 blazor 中这样做的吗?无论哪种方式,如果这是正常的 MVC,如果不使用客户端代码(如 javascript)调用服务器并更新页面上的内容,您不太可能能够避免页面重新加载。
-
是的,使用 AJAX。或者也许更好地使用 Blazor。
-
我删除了 blazor 标签,很抱歉。我不太熟悉.net core mvc。我正在使用 react,这在 react 中非常简单。我需要为这个项目使用 .net core mvc,所以我想构建非常好的 ui 和 ux...
标签: asp.net-core asp.net-core-mvc