目前,我正在使用许多博客文章中找到的策略.基本上,URL包含页码(例如/ Users/List/5将为您的分页用户列表第5页上的用户提供).但是,我没有遇到一个页面必须列出两个单独的分页列表的情况.如何使用ASP.NET MVC进行此操作?我只提供两个url参数(例如/ Users/List?page1 = 1&page2 = 2)?使用部分视图有更好的方法吗?
可以说我有一个普通的页面表:
页表(页面大小= 4k)
Page #: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Page Frame #: 3 x 1 x 0 x 2 x 5 x 7 4 6 x x x
Run Code Online (Sandbox Code Playgroud)
如何将51996之类的任意逻辑地址转换为物理内存地址?
如果我使用log base 2(4096),我得到12.我认为这是我想用于地址偏移的位数.
我只是不确定.51996/4096 = 12.69.那么这是否意味着它位于第12页,具有一定的偏移量?
然后我如何将其转换为"51996"的物理地址?
memory paging memory-management virtual-memory memory-address
我通过google搜索找到的大多数ASP.NET MVC分页解决方案看起来都是以IEnumerable集合的形式从数据库表中获取所有行,对IEnumerable集合执行一些分页转换,然后将结果返回给视图.我希望能够在数据库端进行分页,但仍然有一些分页类来进行页码计算和HTML生成.那里有解决办法吗?或者是我一直在寻找的那些,但我没有看到它,因为我看错了他们?
这是我一直在看的东西:
当使用SetFirstResult(start)
和SetMaxResults(count)
实现分页的方法时,我注意到生成的查询只执行a select top count * from some_table
并且它不考虑start
参数或至少不考虑数据库级别.看来如果我指示NHibernate执行以下查询:
var users = session.CreateCriteria<User>()
.SetFirstResult(100)
.SetMaxResults(5)
.List<User>();
Run Code Online (Sandbox Code Playgroud)
105条记录将在数据库服务器和应用程序之间传输,这将记录前100条记录.对于包含许多行的表,这可能是个问题.
我已经验证了使用SQLite数据库NHibernate利用OFFSET
和LIMIT
关键字来过滤数据库级别的结果.我知道在SQL Server 2000中没有等效的OFFSET
关键字和Oracle ROWNUM
,但有没有解决方法?SQL Server 2005/2008怎么样?
我想使用此方法实现表分页:
SET @PageNum = 2;
SET @PageSize = 10;
WITH OrdersRN AS
(
SELECT ROW_NUMBER() OVER(ORDER BY OrderDate, OrderID) AS RowNum
,*
FROM dbo.Orders
)
SELECT *
FROM OrdersRN
WHERE RowNum BETWEEN (@PageNum - 1) * @PageSize + 1
AND @PageNum * @PageSize
ORDER BY OrderDate ,OrderID;
Run Code Online (Sandbox Code Playgroud)
有什么我应该知道的吗?表有数百万条记录.
谢谢.
编辑:
使用建议的MAXROWS
方法一段时间后(这真的非常快)我不得不切换回ROW_NUMBER
方法,因为它具有更大的灵活性.到目前为止,我对它的速度也非常满意(我正在使用包含10列的超过1M记录的View).要使用任何类型的查询,我使用以下修改:
PROCEDURE [dbo].[PageSelect]
(
@Sql nvarchar(512),
@OrderBy nvarchar(128) = 'Id',
@PageNum int = 1,
@PageSize int = 0
)
AS
BEGIN
SET NOCOUNT ON
Declare @tsql …
Run Code Online (Sandbox Code Playgroud) 我面临着一个简单而乏味的问题.我想要做的是使一个的UITableView像一个UIScrollView的页面,但使分页不帮我这么多,因为我无法设置页面尺寸,以便实现代码如下恰好滚动的高度,因此它显示1行... 10或11 ...... 20等等.我想要的是,当我滚动(因此分页)而没有一种固定范围的显示单元格时,没有单元格保留在视图上方或下方.
非常感谢
我正在创建一种玩具操作系统,我正在尝试设置分页.引导加载程序首先将内核映射到较高的一半,然后我尝试设置一个新的页面目录.
我有一些像这样定义的结构:
typedef struct pd_entry pd_entry_t;
struct pd_entry
{
uint32_t present : 1;
uint32_t writable : 1;
uint32_t user : 1;
uint32_t writethru : 1;
uint32_t nocache : 1;
uint32_t accessed : 1;
uint32_t _reserved : 1;
uint32_t size_4mb : 1;
uint32_t global : 1;
uint32_t available : 3;
uint32_t frame : 20;
}__attribute__((packed));
typedef struct pt_entry pt_entry_t;
struct pt_entry
{
uint32_t present : 1;
uint32_t writable : 1;
uint32_t user : 1;
uint32_t writethru : 1;
uint32_t nocache : …
Run Code Online (Sandbox Code Playgroud) 我正试图在角/引导网站上实现分页.我的数据显示正确的每页行数#,我有角度分页显示正确的页面数...但是如果我能找到任何地方告诉我如何使用分页来刷新我的数据页面#被点击了......?!{{currentPage}}正在更新,但不知道如何让它调用getPresentations来更新列表.
<div>
{{noOfPages}} {{currentPage}} {{maxSize}}
<pagination num-pages="noOfPages" current-page="currentPage"></pagination>
</div>
<script type="text/javascript">
angular.module('app', ['ui', 'shared', 'ui.bootstrap']).controller('AppCtl', function ($scope, $http, $window) {
var mvc = $window.MVC;
$scope.noOfPages = 0;
$scope.currentPage = 1;
$scope.maxSize = 5;
$scope.getPresentations = function () {
$http.get(mvc.base + "API/Presentations?page=" + $scope.currentPage + "&itemsPerPage=10")
.success(function (result) {
$scope.presentations = result.Items;
$scope.noOfPages = result.TotalPages;
$scope.currentPage = result.Page;
})
.error(function (result, status) {
$scope.newModal.errors = mvc.getApiErrors(status, result);
});
};
$scope.getPresentations();
});
</script>
Run Code Online (Sandbox Code Playgroud) 我一直在研究使用UIPageControl作为应用程序的滚动部分,我想知道它是如何工作的.文档显示了更改页面,设置页面数等的方法,但页面控件本身并不包含任何类型的滚动视图.
UIPageControl和UIScrollView类是否应该在想要显示页面指示符时一起使用(比如在带有应用程序页面的iPhone主屏幕上)?
我正在尝试使用PageSize
和返回cosmosDB中的项目PageNumber
.我知道我们可以设置页面大小MaxItemCount
,但是我们如何将页码放在这个函数中?
这是我到目前为止所得到的:
public async Task<IEnumerable<T>> RunSQLQueryAsync(string queryString, int pageSize, int pageNumber)
{
var feedOptions = new FeedOptions { MaxItemCount = pageSize, EnableCrossPartitionQuery = true };
IQueryable<T> filter = _client.CreateDocumentQuery<T>(_collectionUri, queryString, feedOptions);
IDocumentQuery<T> query = filter.AsDocumentQuery();
var currentPageNumber = 0;
var documentNumber = 0;
List<T> results = new List<T>();
while (query.HasMoreResults)
{
foreach (T t in await query.ExecuteNextAsync())
{
results.Add(t);
documentNumber++;
}
currentPageNumber++;
return results;
}
return null;
}
Run Code Online (Sandbox Code Playgroud) paging ×10
asp.net-mvc ×2
objective-c ×2
pagination ×2
angularjs ×1
asp.net-core ×1
azure ×1
c ×1
database ×1
iphone ×1
linq-to-sql ×1
memory ×1
nhibernate ×1
scroll ×1
sql-server ×1
uikit ×1
uitableview ×1