asp.net 如果用了GridView Repeater Datalist DataGrid 后,绑定了一个大的数据源,就要用到分页,无论使用控件自带的分页,还可以通过js 判断第n页的真实地址(我没有尝试过,不过理论上估计行得通)。但是遇到下面
http://search.dangdang.com/search.aspx?selectcatalog=&key=%B5%E7%D7%D3%B9%A4%D2%B5%B3%F6%B0%E6%C9%E7&search=%CB%D1+%CB%F7&catalog=&SearchFromTop=1在当当网上搜索出电子工业出版社 的所有图书<div id="__pub_btm_page_link"><div id="divNaviBottom" class="fanye_bottom"><span class="fanye_bottom_fd"><img src="images/page_up_gray.gif" name="pageup2" width="14" height="15" border="0" align="absmiddle" class="pageup2" id="Img1" /><span class="num_now">&gt;1</span><a name=page href="#operate" onclick="javascript:getZPage(2)" class="num">2</a><a name=page href="#operate" onclick="javascript:getZPage(3)" class="num">3</a>...<a name=page href="#operate" onclick="javascript:getZPage(666)" class="num">666</a><a name=page href="#operate" onclick="javascript:getZPage(667)" class="num">667</a><a href="#operate" onclick="javascript:getZPage(2)" onmouseout="void(0)" onmouseover="void(0)"><img src="images/next.gif" name="next" width="50" height="15" border="0" align="absmiddle" class="next" id="Img2" /></a></span><span class="fanye_bottom_fd">跳转到
  <input class="tiaozhuan" id="jumpto"  name="jumpto" value="1"  onkeydown="changePage();"  onmouseover='this.focus();' onfocus='this.select()'/>
  页<a href="#operate" onclick="gotoPage()"><img src="images/OK.gif" name="enter" width="33" height="15" border="0" align="absmiddle" class="enter" id="Img3" /></a></span> </div>
  </div>
function getZPage(num)
{
    //
}
var maxPage1=667;
function gotoPage(){ pg=document.getElementById('jumpto').value; if(pg>maxPage1) {alert('页码不得超过'+maxPage1);return false;} else if(pg<=0){alert('页码应为非负整数');return false;}else { getZPage(pg);return false;}  }上述的js 是 用到的脚本我估计这个在服务器端做了处理,我想请教大家 能否找到第n(MaxPage>n>1)页的真实地址?

解决方案 »

  1.   

    我估计这个在服务器端做了处理,我想请教大家 能否找到第n(MaxPage>n>1)页的真实地址?
    真实?都写进数据库
      

  2.   

    你想要的真实地址,其实就是某个URL 可以直接链接到列表的某个分页是吧?就是在页面 Page_Load 或者 Window.onload 事件中通过 URL 获得页码,并根据页面初始化列表到对应的页在换页如果非Ajax 则直接URL传当前page值
    如果是Ajax 则通过js修改浏览器地址栏
      

  3.   

    你想要的真实地址,其实就是某个URL 可以直接链接到列表的某个分页是吧? 就是在页面 Page_Load 或者 Window.onload 事件中通过 URL 获得页码,并根据页面初始化列表到对应的页 在换页如果非Ajax 则直接URL传当前page值 
    如果是Ajax 则通过js修改浏览器地址栏,并且异步获取对应分页数据以显示 
      

  4.   

    当前 url 没有page 的值,我想可能是在某个隐藏于里面 但是我看了也没有 既有可能是在服务器端做了处理,现在还有什么办法呢?
      

  5.   

    分页通过aspnetpaget或自定义,分页存储过程等实现,都要在逻辑层实现,通过页码查询数据
      

  6.   

    我明白 楼上的意思 ,我的需求:我想抓取 第二页的源代码,苦于找不到该页的Url,我怀疑 是否在viewstate里面http://search.dangdang.com/search.aspx?selectcatalog=&key=%B5%E7%D7%D3%B9%A4%D2%B5%B3%F6%B0%E6%C9%E7&search=%CB%D1+%CB%F7&catalog=&SearchFromTop=1