留言簿

我要留言
留言搜索

2007-03-18 11:51  chy710

AspNetPager V5.0.1.0 for VS2005<br>在firefox 2.0下显示有乱码哎!
回复:请下载最新的6.0.0版,以前版本对Firefox兼容不太好。谢谢!

2007-03-16 21:56  salough

又出现了一个新的问题,如下:<br>DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'EmployeeID'. <br>其他错误都没有了,在显示页面的时候出错了 。我用的是你目前的代码工具的生成的存储过程,是不是存储过程有什么问题啊?
回复:您的数据源或者数据集中没有EmployeeID这个字段,请仔细检查!

2007-03-16 21:34  salough

不好意思,发多了,电脑卡住了,以为没有发出去呢,按钮多点了几下。

2007-03-16 21:33  salough

我用的是sqldatasource,后台代码只有<br>protected void Page_Load(object sender, EventArgs e)<br>        {<br>            if (!IsPostBack)<br>            {<br> int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, &quot;sp_GetEmployees&quot;);                AspNetPager1.RecordCount = totalOrders;  <br>            }<br>        }<br>可是会出现这样的错误“过程 'sp_GetEmployees' 需要参数 '@pagesize',但未提供该参数。”
回复:您的存储过程代码吗?如果存储过程中有这个参数,那么调用存储过程时就应该给这个参数赋值,您没有赋值才导致这样的错误。如果某些参数有默认值的话,可以在存储过程中设置默认值,比如:P_GetEmployees(@pagesize int = 10) as ...,这样调用存储过程时不给@mypagesize赋值也不会出错。另外特别要提醒一下,请不要在命名自定义的存储过程时加sp_前缀,因为这是SQL Server系统存储过程用的前缀,这样会导致SQL Server每次调用该过程时都先到master数据库中去搜索该存储过程,浪费资源且损失了性能!

2007-03-16 20:57  qpg184926

private void Page_Load(object sender, System.EventArgs e)<br>{<br> ConnDB myDB=new ConnDB();<br> AspNetPager1.RecordCount=myDB.ReturnRecordCount(&quot;select ID from sbdb&quot;);<br> search(null);			<br>}<br>void search(string sWhere)<br>{<br> ConnDB myDB=new ConnDB();<br> myDB.ExeSPBegin(&quot;Pages&quot;);<br> myDB.myCommand.Parameters.Add(&quot;@Sqlstr&quot;,&quot;select * from sbdb&quot;+sWhere);<br> myDB.myCommand.Parameters.Add(&quot;@pageindex&quot;,AspNetPager1.CurrentPageIndex);<br> myDB.myCommand.Parameters.Add(&quot;@pagesize&quot;,AspNetPager1.PageSize);<br> myDB.myCommand.Parameters.Add(&quot;@ID&quot;,&quot;ID&quot;);<br> myDB.myCommand.Parameters.Add(&quot;@Sort&quot;,&quot;&quot;);<br> DataGrid1.DataSource=myDB.ExeSPEnd();<br> DataGrid1.DataBind();<br> AspNetPager1.CustomInfoHTML=&quot;总共&quot;+AspNetPager1.PageCount+&quot;页&quot;+&quot;&amp;nbsp&quot;+AspNetPager1.RecordCount+&quot;条记录&quot;+&quot;&amp;nbsp&quot;+&quot;当前第&quot;+AspNetPager1.CurrentPageIndex+&quot;页&quot;+&quot;&amp;nbsp;记录号:&quot; + AspNetPager1.StartRecordIndex + &quot;-&quot; + AspNetPager1.EndRecordIndex;<br>}<br>我的存储过程没有加@docount请问如何才能让我所得到的AspNetPager1.RecordCount也跟着动态更新呢,我现在只能得到第一次读出的总数,要是搜索什么的,它还是原来的值。请问有没有好的解决方法
回复:如果搜索的话,需要根据搜索条件重新获取符合条件的记录总数,然后在搜索按钮的点击事件中重新为AspNetPager的RecordCount赋值,然后再绑定搜索结果的数据集即可,请参考示例中的search例子。谢谢!

2007-03-16 20:53  salough

你现在写的生成存储过程里有一个参数是docount,但是在samples里都没有把这个参数加进去,是怎么回事呢?然后这个docount又如何赋值呢?
回复:这个参数表示是否只统计记录总数,其值为1或者true时,存储过程选取的结果就是要分页的记录总数,值为0或false时选取的则是当前页的记录集,谢谢!

2007-03-16 20:51  salough

SqlHelper这个类是不是要加到我们做的工程里面呢?还有我一直用不成功啊。
回复:这是示例中用的一个类,如果您用的其中的方法,那么也必须把这个类包含在您的项目中。谢谢!

2007-03-16 09:22  yuhuan

因为我是新手,些分页的时候是用烁空的教程的,代码如下:DataSet ds = Socut.Data.ExecuteDataSet(&quot;SELECT *  FROM NC_SoftList&quot;,AspNetPager1.PageSize *(AspNetPager1.CurrentPageIndex-1),AspNetPager1.PageSize);<br>        DataList1.DataSource = ds;<br>        DataList1.DataBind();<br>可是,我这个数据库太大了,而且数据库和网站不再同一台主机,但是上面的代码又是把数据库全部加载完的,这样第一次访问的速度非常慢,请问如何解决?
回复:您好,数据太多的话最好是用存储过程来实现分页,从数据库中只返回当前页的数据而不是所有数据,用存储过程分页的例子可以在AspNetpager示例项目中找到,主页上的“代码工具”还可以自动生成比较简单的分页存储过程。谢谢!

2007-03-15 10:57  yezby20070315

&lt;webdiyer:AspNetPager id=&quot;AspNetPager1&quot; runat=&quot;server&quot; PageSize=&quot;20&quot; HorizontalAlign=&quot;Right&quot; ShowInputBox=&quot;Always&quot;NumericButtonTextFormatString=&quot;[{0}]&quot; SubmitButtonText=&quot;转页&quot;&gt;&lt;/webdiyer:AspNetPager&gt;,以上代码分页是完全正常的,但是加上以下代码就不分页:<br>NextPageText=&quot;下一页&quot; PrevPageText=&quot;上一页&quot; <br>___________________<br>*.cs<br>...<br>sda.SelectCommand=new SqlCommand(StrSql,con);<br>DataSet ds = new DataSet();<br><br>sda.Fill(ds,this.AspNetPager1.PageSize*(this.AspNetPager1.CurrentPageIndex-1),this.AspNetPager1.PageSize,&quot;upteam&quot;); <br><br>this.GridView1.DataKeyField=&quot;ID&quot;;<br>this.GridView1.DataSource=ds.Tables[&quot;upteam&quot;];<br>this.GridView1.DataBind();<br>...<br>有问题的aspx:<br>&lt;webdiyer:AspNetPager id=&quot;AspNetPager1&quot; runat=&quot;server&quot; PageSize=&quot;20&quot; HorizontalAlign=&quot;Right&quot; ShowInputBox=&quot;Always&quot; NextPageText=&quot;下一页&quot; PrevPageText=&quot;上一页&quot; <br>NumericButtonTextFormatString=&quot;[{0}]&quot; SubmitButtonText=&quot;转页&quot;&gt;&lt;/webdiyer:AspNetPager&gt;<br>奇怪的是:如果把上面ASPX的 NextPageText=&quot;下一页&quot; PrevPageText=&quot;上一页&quot; <br>删除掉就可以分页,为什么会这样呢?
回复:您好,没见过这么奇怪的问题,我专门又测试了一下没见有什么不对的,这两个属性只是设置两上超链接的文本内容而已,和分页功能的实现没有什么关系,检查一下看是否是其它原因造成的?另外如果不删除掉这两个属性的赋值代码的话不能分页是什么现象呢?

2007-03-15 10:42  jnpz886

这个分页控件的存储过程还不过通用呀!<br>我们是各个页面针对是不同的表;<br>象现在这样的情况;只能每个表都写一个存储过程!有10个表就要写10个存储过程<br>那样很不方便!<br>不知道可以不可以传参数! <br>我存储过程不熟;改起来很费力!<br>不知道站长有没好的方法!
回复:您好,网上有不少类似的代码,不过我自己倾向于每个表用自己的存储过程,这样速度和性能会高一些,您可以到“分页资源”栏目看一下邹键的那个通用分页存储过程,不过如果您不熟悉存储过程的话,可能要使用这样的过程也有些难度的。谢谢!
;