留言簿
2006/3/1 10:21:00 雨天
单个的AspNetPager控件,我试了一下是可以的,但是一个搜索页面,上面有一个分页导航,下面也有一个分页导航,两个要相对应的,也就是说要两个控件,这个应该怎么去解决??
回复:这个很简单,您只要在页面上放两个分页控件,两个控件的PageChanged事件共享一个事件处理程序,在事件处理程序中分别设置两个分页控件的CurrentPageIndex为传递过来的PageChangedEventArgs参数的NewPageIndex即可,另外在Page_Load中应同时设置两个控件的RecordCount属性。谢谢!
2006/2/28 15:27:00 xcpuma
你好:
目的:主要是考虑使用你的aspnetpager分页控件是能否使用Ajax技术
具体是当点击分页号(比如第N页)时,不触发PageChanged事件,而是执行自己定义的一段javascript函数,在此函数中需要知道点击的是第几页,并在该函数中调用服务器端函数,得到相应结果后,刷新局部页面。这样做的好处在于页面不必全部刷新,用户浏览页面也比较自然。
现在关键的问题是如何在自己定义的javascript函数如何获取当前用户点击的是第几页!
谢谢!!!!
目的:主要是考虑使用你的aspnetpager分页控件是能否使用Ajax技术
具体是当点击分页号(比如第N页)时,不触发PageChanged事件,而是执行自己定义的一段javascript函数,在此函数中需要知道点击的是第几页,并在该函数中调用服务器端函数,得到相应结果后,刷新局部页面。这样做的好处在于页面不必全部刷新,用户浏览页面也比较自然。
现在关键的问题是如何在自己定义的javascript函数如何获取当前用户点击的是第几页!
谢谢!!!!
回复:对不起,现在这个版本的AspNetPager不支持Ajax技术,不过这个功能我已准备在下一个版本中加入,现在因工作繁忙暂时还没有时间升级,您只能再等一段时间。谢谢!
2006/2/27 20:11:00 CrystalSun
不知道新版本有没有提供oracle的代码生成阿?
如果提供,在那里可以下载到阿?
如果提供,在那里可以下载到阿?
回复:您好,还没有时间写Oracle的代码生成器,下面的代码是我在自己的项目中用的,您可以自己改一下用:
select * from (select A.*,rownum r from (select * from 表名 where (where子句) order by 排序列)A where rownum<= pager1.CurrentPageIndex*pager1.PageSize)B where r>(pager1.CurrentPageIndex-1)*pager1.PageSize
注意其中的pager1是AspNetPager的ID,分页的SQL语句是在后台代码中动态产生的。谢谢!
select * from (select A.*,rownum r from (select * from 表名 where (where子句) order by 排序列)A where rownum<= pager1.CurrentPageIndex*pager1.PageSize)B where r>(pager1.CurrentPageIndex-1)*pager1.PageSize
注意其中的pager1是AspNetPager的ID,分页的SQL语句是在后台代码中动态产生的。谢谢!
2006/2/27 14:14:00 voidarea
大哥你好,我用你的分页控件,问题已发在
http://community.csdn.net/Expert/topic/4579/4579764.xml?temp=.4577295
发现 把InitializeComponent()
中的
this.Pager.PageChanged += new Wuqi.Webdiyer.PageChangedEventHandler(this.Pager_PageChanged);
去掉后就正常了
什么原因呢?
http://community.csdn.net/Expert/topic/4579/4579764.xml?temp=.4577295
发现 把InitializeComponent()
中的
this.Pager.PageChanged += new Wuqi.Webdiyer.PageChangedEventHandler(this.Pager_PageChanged);
去掉后就正常了
什么原因呢?
回复:对不起,我没看出来问题在哪?不知您是否使用了Url分页方式?
2006/2/27 11:52:00 阿刚
你的aspnetpagers 报错:请问是怎么回事,谢谢!
C:\Inetpub\wwwroot\search\Classes\aspnetpager.cs(2384): 找不到类型或命名空间名称“PanelDesigner”(是否缺少 using 指令或程序集引用?)
C:\Inetpub\wwwroot\search\Classes\aspnetpager.cs(16): 类型或命名空间名称“Design”在类或命名空间“System.Web.UI”中不存在(是否缺少程序集引用?)
C:\Inetpub\wwwroot\search\Classes\aspnetpager.cs(2384): 找不到类型或命名空间名称“PanelDesigner”(是否缺少 using 指令或程序集引用?)
C:\Inetpub\wwwroot\search\Classes\aspnetpager.cs(16): 类型或命名空间名称“Design”在类或命名空间“System.Web.UI”中不存在(是否缺少程序集引用?)
回复:您的.net框架是1.1还是2.0版本的?如果是1.1,试试添加对System.Design.dll的引用看是否还出错。谢谢!
2006/2/27 4:10:00 沈志豪
最近在ASP.NET 2.0使用您的控件
基本上運作正常
但是Server端如果沒先在Page_Load查詢1-10筆資料繫結DataGrid一次
就無法設定PageIndex
也就是要能正常換頁每次都要查詢及繫結資料兩次
基本上運作正常
但是Server端如果沒先在Page_Load查詢1-10筆資料繫結DataGrid一次
就無法設定PageIndex
也就是要能正常換頁每次都要查詢及繫結資料兩次
回复:怎么会这样?您是不是没有将第一次打开页面绑定数据的代码放在if(!IsPostBack){}块中?我还没有用过vs2005,所以不太清楚这个控件在.net 2.0中有什么问题,下一个版本中我会加入对.net 2.0和vs2005的支持。谢谢!
2006/2/24 11:34:00 Devin
2006/2/23 22:51:00 richard
楼主你好,谢谢你
我的html代码是<Webdiyer:AspNetPager runat="server" id="pager" HorizontalAlign="right" ShowInputBox="Always" FirstPageText="首页"
LastPageText="末页" PrevPageText="上页" NextPageText="下页" CssClass="mypager" NumericButtonTextFormatString="{0}"
ImagePath="../images" OnPageChanged="PageChanged" ButtonImageNameExtension="n" CpiButtonImageNameExtension="r"
DisabledButtonImageNameExtension="g" TextBeforeInputBox="转到第" TextAfterInputBox="页" PageSize="10" AlwaysShow="True" />
我用的数据库是access的,但是就是没有实现分页功能,
private void Page_Load(object sender, System.EventArgs e)
{
conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("asp.mdb"));
if(!Page.IsPostBack)
{
cmd=new OleDbCommand("select count(*) from bbsCyber",conn);
conn.Open();
//设置要分页的数据的总数
pager.RecordCount=(int)cmd.ExecuteNonQuery();
conn.Close();
//绑定数据
BindData();
}
}
void BindData()
{
cmd = new OleDbCommand("select * from bbsCyber",conn);
OleDbDataAdapter adapter=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
//注意下面这句,只填充当前页要显示的数据,不能把所有数据全填充到DataSet中,否则无法实现分页
adapter.Fill(ds,pager.PageSize*(pager.CurrentPageIndex-1),pager.PageSize,"bbsCyber");
dlist.DataSource=ds.Tables["bbsCyber"];
dlist.DataBind();
}
public void PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
这是我的代码。由于不知道你的邮箱,我只好贴出主要代码了,谢谢你了
我的html代码是<Webdiyer:AspNetPager runat="server" id="pager" HorizontalAlign="right" ShowInputBox="Always" FirstPageText="首页"
LastPageText="末页" PrevPageText="上页" NextPageText="下页" CssClass="mypager" NumericButtonTextFormatString="{0}"
ImagePath="../images" OnPageChanged="PageChanged" ButtonImageNameExtension="n" CpiButtonImageNameExtension="r"
DisabledButtonImageNameExtension="g" TextBeforeInputBox="转到第" TextAfterInputBox="页" PageSize="10" AlwaysShow="True" />
我用的数据库是access的,但是就是没有实现分页功能,
private void Page_Load(object sender, System.EventArgs e)
{
conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("asp.mdb"));
if(!Page.IsPostBack)
{
cmd=new OleDbCommand("select count(*) from bbsCyber",conn);
conn.Open();
//设置要分页的数据的总数
pager.RecordCount=(int)cmd.ExecuteNonQuery();
conn.Close();
//绑定数据
BindData();
}
}
void BindData()
{
cmd = new OleDbCommand("select * from bbsCyber",conn);
OleDbDataAdapter adapter=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
//注意下面这句,只填充当前页要显示的数据,不能把所有数据全填充到DataSet中,否则无法实现分页
adapter.Fill(ds,pager.PageSize*(pager.CurrentPageIndex-1),pager.PageSize,"bbsCyber");
dlist.DataSource=ds.Tables["bbsCyber"];
dlist.DataBind();
}
public void PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
{
pager.CurrentPageIndex=e.NewPageIndex;
BindData();
}
这是我的代码。由于不知道你的邮箱,我只好贴出主要代码了,谢谢你了
回复:您好,我看了一下代码没发现有什么不对劲的地方,不知道您说的不能实现分页功能是怎么回事?是数据全显示出来了还是点击分页按钮不分页呢?您能否说一下具体的情况?谢谢!
2006/2/23 22:00:00 feelings
吴老师您好!
以前用过您的控件,十分感谢您的免费使用
不过现在好像看不到你的版权声明,还可以免费使用么?可以用于商业站点么?
编译没有错误,有以下警告:
警告 CS0618: “System.Web.UI.Design.WebControls.PanelDesigner”已过时
警告 CS0618: “System.Web.UI.Page.IsClientScriptBlockRegistered(string)”已过时
警告 CS0618: “System.Web.UI.Page.RegisterClientScriptBlock(string, string)”已过时
警告 CS0618: “System.Web.UI.Page.GetPostBackClientHyperlink(System.Web.UI.Control, string)”已过时
警告 CS0618: “System.Web.UI.Design.ControlDesigner.ReadOnly”已过时
使用中编译出现这个错误:
类型“AspNetPager.AspNetPager”中不存在类型名称“PageChangedEventHandler”
如果还没有添加事件,则可以编译通过,但是在firefox下显示有问题,首页尾页上一页下一页的那个字符键头变成了字母,另外在firefox下,链接点击没反应
以前用过您的控件,十分感谢您的免费使用
不过现在好像看不到你的版权声明,还可以免费使用么?可以用于商业站点么?
编译没有错误,有以下警告:
警告 CS0618: “System.Web.UI.Design.WebControls.PanelDesigner”已过时
警告 CS0618: “System.Web.UI.Page.IsClientScriptBlockRegistered(string)”已过时
警告 CS0618: “System.Web.UI.Page.RegisterClientScriptBlock(string, string)”已过时
警告 CS0618: “System.Web.UI.Page.GetPostBackClientHyperlink(System.Web.UI.Control, string)”已过时
警告 CS0618: “System.Web.UI.Design.ControlDesigner.ReadOnly”已过时
使用中编译出现这个错误:
类型“AspNetPager.AspNetPager”中不存在类型名称“PageChangedEventHandler”
如果还没有添加事件,则可以编译通过,但是在firefox下显示有问题,首页尾页上一页下一页的那个字符键头变成了字母,另外在firefox下,链接点击没反应
回复:谢谢您提出的问题,我还没研究过Firefox,控件开发时也从没有考虑过FireFox的兼容问题,不过这个问题已在下个版本要解决的问题列表中了,至于链接点击没反应的问题,我觉得有点奇怪,分页控件的回发机制和WebForm的回发机制完全是一样,如果分页控件不能回发,那么一般的asp.net页面也无法在FireFox中运行了,这有些不太可能。
2006/2/23 11:43:00 xcpuma
你好:
当点击分页号时,如何在javascript中读取aspnetpager中点击的是第几页????
当点击分页号时,如何在javascript中读取aspnetpager中点击的是第几页????
回复:对不起,我不太明白您的意思?能否说说您的目的或要实现什么样的功能?
