【发布时间】:2018-08-24 07:18:52
【问题描述】:
(使用另一个视图进行编辑)[不是部分视图]。点击保存后...应该会打开同一页面,其中包含已更新的记录而不是第一页。
控制器中的索引方法
public ActionResult Index(int? page)
{
StudentDBHandle dbhandle = new StudentDBHandle();
ModelState.Clear();
return View(dbhandle.GetStudent().ToList().ToPagedList(page ?? 1,5));
}
控制器中的编辑方法
// GET:学生/编辑/5
public ActionResult Edit(int id)
{
StudentDBHandle sdb = new StudentDBHandle();
return View(sdb.GetStudent().Find(smodel => smodel.UserId == id));
}
**// POST: Student/Edit/5**
[HttpPost]
public ActionResult Edit(int id, StudentModel smodel)
{
try
{
StudentDBHandle sdb = new StudentDBHandle();
sdb.UpdateDetails(smodel);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
我已在索引视图中启用分页:
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }),
new PagedListRenderOptions() { Display = PagedListDisplayMode.IfNeeded ,DisplayPageCountAndCurrentLocation = true})
我想将页码从编辑视图传递到索引控制器,以便显示我从中选择要更新的记录的同一页面。
当我在索引视图中使用 @{ViewBag.CurrentPage = page } 时,它会显示错误,即页面不会在当前上下文中出现。
帮助纠正我的错误
【问题讨论】:
-
不相关,但删除
.ToPagedList(...)之前的.ToList()- 这会扼杀性能。而你的ModelState.Clear();毫无意义 -
感谢您的反馈。任何相关的解决方案?
-
为此使用数据表。
-
@KiranJoshi 你能详细说明一下吗
-
@MansiAgarwal 您可以为此使用数据表。数据表提供对表的分页排序和搜索功能。
标签: c# asp.net-mvc model-view-controller crud paging