
在有 180 條記錄的模型中,我想一次顯示一條。當我單擊下一個按鈕時,下一條記錄顯示為重繪 頁面。
uj5u.com熱心網友回復:
您可以嘗試使用 TempData 和區域視圖,這里是一個演示:
模型:
public class LoopModel{
public List<string> l { get; set; }
public int count { get; set; }
}
行動:
[HttpGet]
public IActionResult TestLoop()
{
LoopModel loopModel = new LoopModel { l = new List<string> { "s1", "s2", "s3", "s4", "s5" }, count = 0 };
TempData["model"] =JsonConvert.SerializeObject(loopModel);
return View();
}
[HttpPost]
public IActionResult TestLoop(int count)
{
var s = TempData.Peek("model").ToString();
LoopModel loopModel = JsonConvert.DeserializeObject<LoopModel>(TempData.Peek("model").ToString());
if(count<loopModel.l.Count())
loopModel.count = count;
return PartialView("Partial1",loopModel);
}
TestLoop.cshtml:
@using Newtonsoft.Json;
<div id="myDiv">
@await Html.PartialAsync("Partial1", JsonConvert.DeserializeObject<LoopModel>(TempData.Peek("model").ToString()))
</div>
<button onclick="AddContent()">next</button>
@section Scripts
{
<script>
var count = 0;
function AddContent() {
count ;
$.ajax({
type: "POST",
url: '?count=' count,
success: function (result) {
$("#myDiv").html(result);
}
});
}
</script>
}
部分1:
@model LoopModel
@for (var i = 0; i <= Model.count; i )
{
<div class="container">@Model.l[i]</div>
}
結果:

uj5u.com熱心網友回復:
我建議在您的應用程式中實作分頁,并使您的頁面大小 = 1 以實作您的目標。
本教程舉例說明了如何實作分頁功能,大家可以參考。
https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/sort-filter-page?view=aspnetcore-3.1#add-paging-to-students-index
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/368458.html
