关于使用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;
浙公网安备 33010602011771号