У меня есть два частичных представления результатов поиска, которые отображаются внутри родительского представления с помощью панели вкладок начальной загрузки.
это мой родительский вид: (только соответствующие коды Index.cshtml
)
<form class="form">
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<div class=" form-group">
@Html.TextBox("search", ViewBag.CurrentFilter as string,
new { @placeholder = "Enter class number", @class = "form-control" })
</div>
<div class="form-group">
<input class="btn btn-success" type="submit" value="Search" id="btnclick" />
</div>
}
</form>
<div class="tab-content col-xs-12">
<div class="tab-pane fade in active" id="info">
@if (Model.student_info.Count() != 0)
{
@Html.Partial("_studentinfo")
}
else
{
<h4 style="padding:5px;">No records found.</h4>
}
</div>
<div class="tab-pane fade" id="grades">
@if (Model.gradeperterm.Count() != 0)
{
@Html.Partial("_gradeterm")
}
else
{
<h4 style="padding:5px;">No records found.</h4>
}
</div>
</div>
Затем для каждого моего частичного просмотра я помещаю pagedlistpager
@if (Model.student_info.Count > 1)
{
@Html.PagedListPager(Model.student_info,
page =>Url.Action("Index",
new { page = Page, currentFilter = ViewBag.CurrentFilter}))
}
Тогда мой контроллер выглядит так:
Guid query = new Guid();
query = (from b in db.school
where b.class_nr == search
select b.class_id).FirstOrDefault();
if (search != null)
{
page = 1;
}
else
{
search = currentfilter;
}
ViewBag.CurrentFilter = search;
int pageSize = 5;
int pageNumber = (page ?? 1);
var smodel = new schoolmodel
{
student_info = db.student_info.Where(x => x.class_id == query)
.OrderBy(x => x.recorded_at_date_time)
.ToPagedList(pageNumber, pageSize),
gradeperterm = db.gradeperterm.Where(x => x.class_id == query)
.OrderBy(x => x.term)
.ToPagedList(pageNumber, pageSize)
};
return View(patmodel);
Когда я ищу, он успешно отображает первые пять страниц для каждой панели вкладок, однако, когда я нажимаю на следующую страницу, он отображает «Результаты не найдены», но моя строка поиска и текущий фильтр не являются нулевыми, как показано в моем URL. Как я могу заставить его работать? Я совершенно новичок в mvc. Ответы будут высоко оценены. Спасибо.