我在视图中的IEnumerable中有30条记录。我想使用按钮迭代它们中的每一个。就像我点击"下一步"按钮,应显示模型的下一条记录。 我正在使用MVC 5和实体框架。
答案 0 :(得分:0)
假设您有30条记录,并且希望在视图中显示5条记录。
使用以下方式一次过滤5条记录。
public class StudentDetail
{
string StudentID;
string StudentName;
}
public List<StudentDetail> GetData(List<StudentDetail> lst, int start, int length)
{
List<StudentDetail> result = new List<StudentDetail>();
for(int i = start; i < start + length; i++)
{
result.Add(lst[i]);
}
return result;
}
然后在视图中返回数据:
<P>
@foreach(lst in Model.Details)
{
<P>lst.StudentID</P>
<P>lst.StudentName</P>
}
<P>
点击“下一步”点击你需要增加开始计数器。现在您可以在查询字符串中使用启动计数器
@Html.ActionLink("Next", "Next", "StudentDetails", new { @start = Model.Start + Model.Length })
类似的东西,如果发现任何问题,请告诉我。谢谢:))
答案 1 :(得分:0)
我能想到实现这一目标的最好方法是立即将它们全部渲染到视图中(在视图中使用foreach),但使用一些简单的CSS隐藏除第一个之外的所有内容。
然后使用类似jQuery的东西来监听要按下的按钮,当点击它时,使用jQuery隐藏当前显示的项目,并使下一个项目可见。
这种方法的好处是每次点击后用户都不需要等待页面重新加载。