我的场景是,我从控制器返回一个值列表作为 json 以查看,然后只想在我的表单上显示第一条记录,并且在按下向下箭头键后,想要显示第二条等等。
是否可以在客户端一个一个地遍历整个 json 列表,或者我每次都必须通过 ajax 按键事件从服务器返回单个记录?
我的场景是,我从控制器返回一个值列表作为 json 以查看,然后只想在我的表单上显示第一条记录,并且在按下向下箭头键后,想要显示第二条等等。
是否可以在客户端一个一个地遍历整个 json 列表,或者我每次都必须通过 ajax 按键事件从服务器返回单个记录?
在我看来,您有很多选择,一种可能性可能是返回您的结果,在您的视图中生成 html 元素并隐藏除第一个之外的所有元素(使用 CSS)。类似的东西(只是给你一个想法):
@model List<string>
@for (int i = 0; i < Model.Count; i++)
{
<div class="@((i == 0) ? "name-highlighted" : "name")">@Model[i]</div>
}
在你的css中是这样的:
.name {
display: none;
}
.name-highlighted {
/* You get the idea */
}
话虽如此,如果不想加载所有项目,您可以仅获取第一个项目(同时保持计数)并通过 ajax 调用获取每个后续项目。