Prev和Next的链接总是转到第1页。但是所有其他带号码的页面都会转到所需的页面:请帮忙。我添加了@prev和@next以便我可以看到它们的值,它显示如果我在第5页,前一个是4而下一个是6.但是点击Prev和Next按钮后,我总是会结束在第1页。
<ul class="pagination btn-lg">
@{ int currentPage = (int)ViewBag.CurrentPage;}
@if (currentPage > 5)
{
int prev = (int)ViewBag.CurrentPage - 1;
@prev
<li><a href=@Url.Action("Index", new { prev }) >Prev</a></li>
}
@{ int offset;
offset = currentPage - 4 <= 0 ? 1 : currentPage - 4;
int maxPages = offset + 9 > ViewBag.Pages ? (int)ViewBag.Pages : offset + 9;
}
@for (int page = offset; page <= maxPages; page++)
{
if (page == ViewBag.CurrentPage)
{
<li class="active"><a href=@Url.Action("Index", new { page }) >@page</a></li>
}
else
{
<li><a href=@Url.Action("Index", new { page })>@page</a></li>
}
}
@if (maxPages < ViewBag.Pages)
{
int next = currentPage + 1;
@next
<li><a href=@Url.Action("Index", new { next })>Next @next</a></li>
}
public ActionResult Index(int? page)
{
Models.Items items = new Models.Items();
items.loadItems(page.HasValue ? (int)page : 1);
ViewBag.Items = items.items;
ViewBag.Pages = (items.ItemCount / Models.Items.itemsPerPage) + 1;
ViewBag.CurrentPage = page.HasValue ? (int)page : 1;
return View();
}
答案 0 :(得分:1)
您使用
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// sender is your Cell, it includes the image and string,
// pass them to next view controller is ok,
// use them in SecondViewController's viewDidLoad() is ok.
let cell = sender as! UITableViewCell
let secondViewController = SecondViewController()
secondViewController.image = cell.imageView?.image
secondViewController.text = cell.textLabel?.text
}
正在生成<a href=@Url.Action("Index", new { prev })>Prev</a>
(假设href=".../Index?prev=2"
的值),因此您为prev=2
发送了一个值,但prev
没有一个值(并且您的代码将其设置为默认值 - page
)
将链接更改为
page = 1
并且同上<a href="@Url.Action("Index", new { page = prev }")>Prev</a>
和(推荐)new { page = next }
旁注:您也可以使用
new { page = page }