大家幫幫忙,介紹一下ASPNETPAGER 4.33,在這裡謝過拉!
解决方案 »
- ASP.NET带进度条多文件上传示例代码(Uploadify+JQuery EasyUI)
- asp.net 关于DllImport的使用
- sql企业管理器不知为何突然连不上服务器了,有出错提示,请问谁有用程序实现数据库结构的管理的代码?
- 在asp中创建的进程,是不是只能是属于用户ASPNET的?能不能创建属于其它用户的进程阿?
- 有什么办法能够防止别人按规则推测出资料地址?
- 还是提交或确认时弹出提示框问题
- 想用VS.NET里的C#编第一个ASP.NET程序,请指教!
- 怎么把下拉菜单图象保存到数据库中~~~~
- 求一随机数控件,就是有一排数字不停的变,点一下就停下来!!!
- 是javascript的进来帮忙看看啊
- 高手请入,一个很可怕的问题
- 尝试创建WEB项目或打开为于“http://127.0.0.1/webApplication1"的WEB项目时,WEB服务器报告把以下错误。“Http/1.1 500 Intermal Server
System.Web.UI.Control
System.Web.UI.WebControls.WebControl
System.Web.UI.WebControls.Panel
Wuqi.Webdiyer.AspNetPager[Visual Basic]
Public Class AspNetPager
Inherits Panel
Implements INamingContainer, IPostBackEventHandler, IPostBackDataHandler
[C#]
public class AspNetPager : Panel, INamingContainer, IPostBackEventHandler, IPostBackDataHandler
备注
不同于DataGrid控件,AspNetPager分页控件本身并不显示任何数据,而只显示页导航元素,数据在页面上的显示方式与该控件无关。该控件可以为DataGrid、DataList、Repeater以及自定义控件进行分页,配合Sql存储过程,分页性能较使用DataGrid分页有明显提升,尤其是当数据量大时性能可提升数倍!
AspNetPager 2.0 中新增了通过Url来分页的功能,这使得访问者可以直接输入相应的Url来访问任何页面,并且搜索引擎也可以直接检索每个页面,若使用DataGrid的分页功能,这是无法实现的。要使用 AspNetPager 分页控件,必须最少指定它的 RecordCount 属性,指定并编写 PageChanged 事件的处理程序。 RecordCount 属性指定要分页的所有数据的总项数,若未指定该值或该值小于等于 PageSize ,则AspNetPager控件不会显示任何内容。 若未指定并编写 PageChanged 事件处理程序,则当用户点击页导航元素或在页索引文本框中手式输入页索引并提交时AspNetPager不会跳转到指定的页。 AspNetPager控件的分页方法和DataGrid基本相同,即在它的 PageChanged 事件处理程序中将传递事件数据的 PageChangedEventArgs 的 NewPageIndex值赋给 AspNetPager的 CurrentPageIndex属性,然后重新将新的数据与数据显示控件绑定。 示例
以下示例说明如何用AspNetPager对DataGrid进行分页。 <%@ Page Language="C#"%>
<%@ Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
<%@Import Namespace="System.Configuration"%>
<%@Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="aspnetpager"%>
<HTML>
<HEAD>
<TITLE>Welcome to Webdiyer.com </TITLE>
<script runat="server">
SqlConnection conn;
SqlCommand cmd;
void Page_Load(object src,EventArgs e)
{
conn=new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);
if(!Page.IsPostBack)
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",1);
cmd.Parameters.Add("@pagesize",1);
cmd.Parameters.Add("@docount",true);
conn.Open();
pager.RecordCount=(int)cmd.ExecuteScalar();
conn.Close();
BindData();
}
}
void BindData()
{
cmd=new SqlCommand("GetNews",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@pageindex",pager.CurrentPageIndex);
cmd.Parameters.Add("@pagesize",pager.PageSize);
cmd.Parameters.Add("@docount",false);
conn.Open();
dataGrid1.DataSource=cmd.ExecuteReader();
dataGrid1.DataBind();
conn.Close();
pager.CustomInfoText="记录总数:<font color=\"blue\"><b>"+pager.RecordCount.ToString()+"</b></font>";
pager.CustomInfoText+=" 总页数:<font color=\"blue\"><b>"+pager.PageCount.ToString()+"</b></font>";
pager.CustomInfoText+=" 当前页:<font color=\"red\"><b>"+pager.CurrentPageIndex.ToString()+"</b></font>";
}
void ChangePage(object src,PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
</script>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer([email protected])">
</HEAD>
<body>
<form runat="server" ID="Form1">
<asp:DataGrid id="dataGrid1" runat="server" />
<Webdiyer:AspNetPager id="pager"
runat="server"
PageSize="8"
NumericButtonCount="8"
ShowCustomInfoSection="left"
PagingButtonSpacing="0"
ShowInputBox="always"
CssClass="mypager"
HorizontalAlign="right"
OnPageChanged="ChangePage"
SubmitButtonText="转到"
NumericButtonTextFormatString="[{0}]"/>
</form>
</body>
</HTML>
下面是该示例所用的Sql Server存储过程: CREATE procedure GetNews
(@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
if(@docount=1)
select count(id) from news
else
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select id from news order by addtime desc
select O.id,O.source,O.title,O.addtime from news O,@indextable t where O.id=t.nid
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
end
set nocount off
GO
要求
命名空间:Wuqi.Webdiyer 命名空间程序集: AspNetPager.dll
请参见
http://www.webdiyer.com/doc/Wuqi.Webdiyer.AspNetPager.html