I am implementing paging in asp.net core mvc 6.0
here is my code on controller
using X.PagedList;
public IActionResult Index(int? page)
{
Employee emp = new Employee();
emp.EmpModel = _repository.GetAllEmployee().ToPagedList(page ?? 1,3);
return View(emp);
}
here is code on view
@model IPagedList<Asp.NetCoreApp.Model.Employee>
@using X.PagedList.Mvc.Core;
@using X.PagedList;
@using X.PagedList.Web.Common;
@{
Layout = null;
}
@using (Html.BeginForm("Index","Home",FormMethod.Post,new{@class="form-horizontal"}))
{
<div class="form-group">
@Html.LabelFor(model => model.First().Department, new {@class="control-label col-sm-2"})
<div class="col-sm-6">
@Html.DropDownList("Department",new List<SelectListItem>
{
new SelectListItem { Text = "IT", Value = "IT"},
new SelectListItem { Text = "HR", Value = "HR"},
new SelectListItem { Text = "Payroll", Value = "Payroll"}
},"Select Department",new{@class="form-control"})
@Html.ValidationMessageFor(model => model.First().Department, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.First().EmpName, new { @class = "control-label col-sm-2" })
<div class="col-sm-6">
@Html.TextBoxFor(model =>model.First().EmpName, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.First().EmpName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.First().EmailId, new { @class = "control-label col-sm-2" })
<div class="col-sm-6">
@Html.TextBoxFor(model => model.First().EmailId, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.First().EmailId, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-6">
<input type="submit" id="btnSubmit" value="Submit" class="btn btn-primary" />
</div>
</div>
}
@{
if(Model.First().EmpModel != null && Model.First().EmpModel.Count > 0)
{
<table class="table table-striped" border="1">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Department</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
@foreach (var emp in Model.First().EmpModel)
{
using (Html.BeginForm("Delete","Home",new { id = emp.Id },FormMethod.Post))
{
<tr>
<td>@emp.EmpName</td>
<td>@emp.EmailId</td>
<td>@emp.Department</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = emp.Id },new { @class = "btn btn-primary" })</td>
<td>
<input type="submit" value="Delete" onclick="return confirm('Are you sure you want to delete record with ID = @emp.Id');" class="btn btn-danger"/>
</td>
</tr>
}
}
</tbody>
</table>
@Html.PagedListPager(Model, page => Url.Action("Index", new { page }), new PagedListRenderOptions { DisplayLinkToFirstPage = PagedListDisplayMode.Always, DisplayLinkToLastPage = PagedListDisplayMode.Always })
}
}
Please let me know what needs to be done
i am stuck on this