如何使用MVC 5中的按钮迭代IEnumerable模型查看

时间:2017-06-02 11:52:20

标签: entity-framework asp.net-mvc-5

我在视图中的IEnumerable中有30条记录。我想使用按钮迭代它们中的每一个。就像我点击"下一步"按钮,应显示模型的下一条记录。 我正在使用MVC 5和实体框架。

2 个答案:

答案 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隐藏当前显示的项目,并使下一个项目可见。

这种方法的好处是每次点击后用户都不需要等待页面重新加载。