关于使用asp.net 的分页显示数据。Repeater绑定数据后的分页显示。

<script language="C#" runat="server">
 public void Page_Load(Object src,EventArgs e) {
  OleDbConnection objConn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("db1.mdb"));
  OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from web",objConn);
  DataSet ds=new DataSet();
  objCommand.Fill(ds);

  PagedDataSource objPds = new PagedDataSource();
  objPds.DataSource = ds.Tables[0].DefaultView;
  objPds.AllowPaging = true;
  Repeater1.DataSource=objPds;
   objPds.PageSize=12;
  Repeater1.DataBind();
}
</script>
 
说明:
objPds.PageSize=12; 意思是只显示Access数据库中的12个。

下面是页面中的代码:
 <div  id="gov0" >
       
  <asp:Repeater runat="server" id="Repeater1" >
        <ItemTemplate>
         <a href='<%#DataBinder.Eval(Container.DataItem,"url")%>' rel="external"><%#DataBinder.Eval(Container.DataItem,"webname")%></a>
       </ItemTemplate>
       </asp:Repeater>
    
   </div>
其中,url 和webname是数据库中仅有的两个字段名。     
使用了rel="external" 而不是  target=_blank是因为,后者不能打开新窗口了。
当然。要实现此功能,在最前面要加一个脚本。

  <script type="text/javascript" src="external.js"></script>
external.js中的内容为:

// JavaScript Document
function externallinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }


整个页面的css文件写到另外一处,
使用<link href="common.css" rel="stylesheet" type="text/css">
调用之。
}
window.onload = externallinks;

posted on 2007-02-04 22:01  任强  阅读(1068)  评论(0)    收藏  举报

导航