分页-Webmatrix/razor

分页-Webmatrix/razor,razor,twitter-bootstrap,webmatrix,Razor,Twitter Bootstrap,Webmatrix,我使用了Mike Brind的指南来设置分页,这很有效。我还使用引导在页面底部创建了一个外观更好的页面导航。你能让我知道我需要做什么,以便下一个和上一个按钮工作吗?我想象它是像i+1和i-1,但我还没有弄清楚。这是我的密码: 编辑代码: //Paging var pageSize = 6; var totalPages = 0; var count = 0; var page = UrlData[0].IsInt() ? UrlData[0].AsInt() : 1; var offset

我使用了Mike Brind的指南来设置分页,这很有效。我还使用引导在页面底部创建了一个外观更好的页面导航。你能让我知道我需要做什么,以便下一个和上一个按钮工作吗?我想象它是像i+1和i-1,但我还没有弄清楚。这是我的密码:

编辑代码:

//Paging

var pageSize = 6; 
var totalPages = 0; 
var count = 0;
var page = UrlData[0].IsInt() ? UrlData[0].AsInt() : 1;
var offset = (page -1) * pageSize;

var db = Database.Open("StayInFlorida");
var sql = "Select Count(*) From PropertyInfo ";
count = (int)db.QueryValue(sql);
totalPages = count/pageSize;        
if(count % pageSize > 0){
    totalPages += 1;
}
sql = "SELECT PropertyName, PropertyID, ResortName, NumBedrooms, NumBathrooms, NumSleeps, BriefDescription, PrimaryImage FROM PropertyInfo "+
           "Order By PropertyID OFFSET @0 ROWS FETCH NEXT @1 ROWS  ONLY;";

var result = db.Query(sql, offset, pageSize);

<!--Pagination Start-->
<div class="pagination pagination-centered">
<ul>  
@{   
    if(page > 1){     
    <li><a href="/portfolio1/@(page-1)">Prev</a></li>
    }
    for (var i = 1; i < totalPages + 1; i++){
    <li><a href="/portfolio1/@i">@i</a></li>
    }
    if(page > 1){
    <li><a href="/portfolio1/@(page + 1)">Next</a></li>
    }
}
</ul>
</div>
<br>
<!--Pagination Finish-->
//分页
var pageSize=6;
var totalPages=0;
var计数=0;
var page=UrlData[0]。IsInt()?UrlData[0].AsInt():1;
变量偏移量=(第1页)*页面大小;
var db=Database.Open(“stayinfrida”);
var sql=“从PropertyInfo中选择计数(*)”;
count=(int)db.QueryValue(sql);
totalPages=计数/页面大小;
如果(计数%pageSize>0){
总页数+=1;
}
sql=“从PropertyInfo中选择PropertyName、PropertyID、ResortName、NumberRooms、NumberThrooms、NumSleeps、BriefDescription、PrimaryImage”+
“按属性排序ID偏移量@0行仅取下@1行;”;
var result=db.Query(sql、偏移量、页面大小);
    @{ 如果(第页>第1页){
  • } 对于(变量i=1;i } 如果(第1页){
  • } }


如果要转到下一页或上一页,您可能只希望显示下一页或上一页按钮?如果是这样,并且假设您在一个名为page的变量中跟踪当前页码,则可以这样做:

<!--Pagination Start-->
<div class="pagination pagination-large">
<ul>
   @if(page > 1){
       <li><a href="/portfolio1/@(page-1)">Prev</a></li>
   }
   for (var i = 1; i < totalPages + 1; i++){
       <li><a href="/portfolio1/@i">@i</a></li>
   }
   if(page < totalPages){
       <li><a href="/portfolio1/@(page + 1)">Next</a></li>
   }
</ul>
</div>
<br>
<!--Pagination Finish-->

    @如果(第1页){
  • } 对于(变量i=1;i } 如果(第页<总页数){
  • }


好的,所以我使用了ures,它有点错误,但我做了一些修改,并使用此代码使其半工作
    {if(page>1){
  • }for(var i=1;i}如果(page>1){
  • }

实际上,我只需编辑页面顶部的代码。问题是,在第一页上,它没有显示上一页或下一页的链接。如果我点击第2页,上一页和下一页按钮就在那里,工作正常。另一个问题是,当我在第3页(共3页)上时,“下一步”按钮仍然存在,我可以移动到第4页和第5页,依此类推,即使那里没有记录?它不会在第1页上显示“上一步”按钮。第1页之前没有页面。如果“下一步”按钮出现在第3页,则表示您的totalPages变量计算不正确。我的意思是,如果下一个链接显示在第3页,而没有第4页,则表示您的totalPages变量不正确。。。