留言簿

我要留言
留言搜索

2006-02-27 04:10  沈志豪

最近在ASP.NET 2.0使用您的控件
基本上運作正常
但是Server端如果沒先在Page_Load查詢1-10筆資料繫結DataGrid一次
就無法設定PageIndex
也就是要能正常換頁每次都要查詢及繫結資料兩次
回复:怎么会这样?您是不是没有将第一次打开页面绑定数据的代码放在if(!IsPostBack){}块中?我还没有用过vs2005,所以不太清楚这个控件在.net 2.0中有什么问题,下一个版本中我会加入对.net 2.0和vs2005的支持。谢谢!

2006-02-24 11:34  Devin

大哥!有没有VB版的示例啊?
回复:对不起,控件安装的示例中没有vb.net版的,不过您可以用#Develop或其它工具来将C#代码转换为vb.net的代码,您只要在google中用关键字“convert C# to vb.net”就能搜到很多。谢谢!

2006-02-23 22:51  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();
		}
这是我的代码。由于不知道你的邮箱,我只好贴出主要代码了,谢谢你了
回复:您好,我看了一下代码没发现有什么不对劲的地方,不知道您说的不能实现分页功能是怎么回事?是数据全显示出来了还是点击分页按钮不分页呢?您能否说一下具体的情况?谢谢!

2006-02-23 22: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下,链接点击没反应
回复:谢谢您提出的问题,我还没研究过Firefox,控件开发时也从没有考虑过FireFox的兼容问题,不过这个问题已在下个版本要解决的问题列表中了,至于链接点击没反应的问题,我觉得有点奇怪,分页控件的回发机制和WebForm的回发机制完全是一样,如果分页控件不能回发,那么一般的asp.net页面也无法在FireFox中运行了,这有些不太可能。

2006-02-23 11:43  xcpuma

你好:
   当点击分页号时,如何在javascript中读取aspnetpager中点击的是第几页????
回复:对不起,我不太明白您的意思?能否说说您的目的或要实现什么样的功能?

2006-02-22 23:59  terry

我的意思是URL分页时中文字符空格什么的能不能用urlencode进行编码, 就像这个样子 (%B2%E2%CA%D4)
回复:您好,完全可以,控件分页时会原样把url中的参数复制到下一页的url中,不会进行编码或解码。谢谢!

2006-02-22 23:07  钟宏

你好,吴老师我看了你发给我你的留言本搜索程序,其中关键代码如下:
    adapter.Fill(ds,AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1),AspNetPager1.PageSize,"msgs");
   在我做的里面 DataSet da=DAL.GetReportTaskData(ddl_jsdh.SelectedItem.Text,ddl_dbdh.SelectedItem.Text); 得到的da里面就已经有数据了,怎么样取这个da里当前页以前的数据绑定datagrid呢?我的代码如下:
  private void BindDate()
{  DataSet da=DAL.GetReportTaskData(ddl_jsdh.SelectedItem.Text,ddl_dbdh.SelectedItem.Text);
  dgd_grid.PageSize=pager.PageSize;
    DataTable dd=new DataTable(); 

for(int i=0;i<pager.PageSize*(pager.CurrentPageIndex);i++) 
{ 
  dd=da.Tables[0].Rows[i].Table.Copy; 
}
   dgd_grid.Datasource=dd.Defaultview;
   dgd_grid.DataBind();
}
 我想取da当前页以前的的数据绑定datagrid,可这样还是取的全部数据,要怎么样才是取da当前页以前的的数据?
回复:您好,我不太明白您说的当前页以前的数据是怎么回事?您想要实现什么样的功能呢?你上面的代码中:dd=da.Tables[0].Rows[i].Table.Copy;拷的仍然是这个Row所在的整个DataTable,循环行没有任何意义,所以绑定的数据仍然是原来的那个DataTable中的数据。

2006-02-22 20:17  feeling

是呀,能不能快点出2.0版本的呀,原来源码编译过后用起来还是有问题呀
回复:您能否将现在最大最新版本的AspNetPager在vs2005及.net 2.0下运行时存在的问题发给我,我现在还不清楚升级的时候具体还要改动哪些部分,如果现在搞清这些问题,将来升级时我就可以把更多的时间花在代码的实现上,而不用自己去找存在的问题。非常感谢!

2006-02-22 16:28  waller

老大,什么时候出2.0版本的啊,你的这个分页控件很好用哦!!!
回复:很对不起,最近用vs.net2003在做一个项目,项目不好做而且时间又很紧,连接触一下vs2005的机会都没有,得五六月份把这个项目做完后才可能有时间考虑升级2.0的事,当然如果期间有比较闲的时间也可能会升级,但现在还无法确定具体什么时候才有空!谢谢!

2006-02-21 16:28  feelings

吴老师,已经自己知道原因,已解决,谢谢
;