gpt4 book ai didi

c# - 按页分类的表格

转载 作者:行者123 更新时间:2023-11-28 05:38:31 28 4
gpt4 key购买 nike

我在 VS2012 中使用 Razor 创建一个网页,它将在表格中列出一堆可用元素。问题是,这张表可能会变得很长。有没有办法在不使用 webgrid 或 Javascript 的情况下按页分隔这些行(表格中每页可能有 5 个元素)?

代码:

@if (!Request.QueryString["UserID"].IsEmpty()){
<table>
<tr>
<th >Group ID</th>
<th >PPMID</th>
<th >EPRID</th>
<th >Project Name</th>
<th >Delete</th>
</tr>

@foreach (var row in db.Query(sql_c)) {
counter++;
<tr class="@temp">

<td><br />
@row.UserID
</td>

<td><br />
@row.PPMID
</td>

<td><br />
@row.EPRID
</td>

<td ><br />
@row.Proj_Name
</td>

<td><br /><button type="submit" onclick="return confirm('Are you sure you want to delete?')" id="delete" name="delete" value="@row.Link"/>Delete</td>

</tr>
}
</table>
<br /><input style="float:right;font-weight:bold" type="submit" id="add" name="add" value="Add New Project" />
}

最佳答案

这可以通过名为 PagedList.Mvc 的 NuGet 包来实现,完整的分步教程 - here

  1. 在 Visual Studio 中打开包管理器控制台
  2. 默认元素设置为您的网络应用
  3. 粘贴 Install-Package PagedList.Mvc在控制台中,然后按 Enter
  4. 打开 web.config VIEWS 文件夹中的文件和下面的命名空间到 <namespaces>元素

    <add namespace="PagedList"/>
    <add namespace="PagedList.Mvc"/>

Controller :

public class PagingController : Controller
{
public ActionResult Index(int?page)
{
int pageSize = 3;
int pageNumber = (page ?? 1);

List<Item> items = this.GetItems();
return View(items.ToPagedList(pageNumber, pageSize));
}

private List<Item> GetItems()
{
var item1 = new Item { Description = "Item 1", Number = "1" };
var item2 = new Item { Description = "Item 2", Number = "2" };
var item3 = new Item { Description = "Item 3", Number = "3" };

var item4 = new Item { Description = "Item 4", Number = "4" };
var item5 = new Item { Description = "Item 5", Number = "5" };
var item6 = new Item { Description = "Item 6", Number = "6" };

var item7 = new Item { Description = "Item 7", Number = "7" };
var item8 = new Item { Description = "Item 8", Number = "8" };

return new List<Item> { item1, item2, item3, item4, item5, item6 ,item7, item8};
}
}

查看:

@model PagedList.IPagedList<MVC_jqgrid_example.Controllers.Item>

@using PagedList.Mvc;
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />

@{
Layout = null;
}

<table class="table">
<tr>
<th>
Number
</th>
<th>
Description
</th>
</tr>

@foreach (var item in Model) {
<tr>
<td>
@item.Number
</td>
<td>
@item.Description
</td>
</tr>
}
</table>
<br />
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

@Html.PagedListPager(Model, page => Url.Action("Index",
new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))

输出:

MVC paged list

关于c# - 按页分类的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38045326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com