我正在寻找按照以下简单要求实现寻呼机的最佳方法。
我想要一个像这样的页面
<Pager 1 2 3 4 ...>
<Partial View>
我的动作控制器看起来像这样...
public PartialViewResult DisplayRecordDetails(int recordNumber)
{
MyRecord mr = GetRecord(recordNumber);
return PartialView(mr);
}
当我点击“1”(页面索引= 1)时,我将1作为参数传递给DisplayRecordDetails操作方法,并加载带有记录1的局部视图。
当我点击“2”(页面索引= 2)时,我将2作为参数传递给DisplayRecordDetails操作方法并加载带有记录2的局部视图,依此类推......
我将获得总项目数信息和当前页面索引信息。现在,我如何使用此信息动态生成寻呼机?
我尝试过搜索寻呼机库/帮助器,但所有这些都是用于网格的。我怎样才能将它们用于我的情况?我没有网格。我只是有一个局部视图,我需要根据页码动态加载。
答案 0 :(得分:1)
您可以设计一个包含所有ID号的视图模型:
public class MyViewModel
{
// the currently selected id
public int Id { get; set; }
// a list of available ids
public int[] Ids { get; set; }
}
然后有一个控制器操作,它将查询您的数据库或其他任何内容并获取所有可用ID的列表:
public ActionResult Index(int? id)
{
var model = new MyViewModel
{
Id = id ?? 0,
Ids = new[] { 563, 845, 845 } // those will come from your datasource
};
return View(model);
}
并在相应的视图中,您可以遍历这些ID并生成链接:
@model MyViewModel
<div>
@Html.Action("DisplayRecordDetails", new { recordNumber = Model.Id })
</div>
@for (var i = 0; i < Model.Ids.Length; i++)
{
<span>@Html.ActionLink((i + 1).ToString(), "Index", new { id = i })</span>
}