留言簿

我要留言
留言搜索

2005-09-13 10:44  梦

吴老兄请好!打扰了,我是个刚学的菜鸟,昨天折腾了一天,有些还不明白~!请问怎么设置显示“记录总数:xx 总页数:xx 当前页:x ”的信息?我看了access的示例代码里面也没找到,只有“<Webdiyer:AspNetPager runat="server" id="pager" OnPageChanged="ChangePage" HorizontalAlign="right" ShowCustomInfoSection="left" style="margin-top:5px" PageSize=4 ShowInputBox="always" SubmitButtonStyle="border:1px solid #000066;height:20px;width:30px" InputBoxStyle="border:1px #0000FF solid;text-align:center" SubmitButtonText="转到" NumericButtonTextFormatString="[{0}]" CustomInfoSectionWidth="35%" PagingButtonSpacing=0 ImagePath="../images" ButtonImageNameExtension="n" CpiButtonImageNameExtension="r" DisabledButtonImageNameExtension="g"/>”  这个代码我在机器上试了只能出来页码,出不来“记录总数:xx 总页数:xx 当前页:x ”的信息,,请问这个要怎么设置才能显示?谢谢
回复:您好,示例中对DataGrid进行分页的就是,要显示自定义信息区,首先要把ShowCustomInfoSection属性设为Right或Left,然后把要显示的字符串赋给CustomInfoText这个属性即可。谢谢!

2005-09-11 03:12  MOMO

站長您好,我是台灣來的,我在幸運之下找到了你的控件,真的是不錯,超好用的,很感謝您讓我在發開專案能省時省力。希望您以後再把此控件升級更新,我會支持您的。^_^
回复:您好,谢谢您的留言,我会抽出时间对这个控件进行必要的升级的,下一次打算升级到.net框架2.0版,因为现在这个版本的框架还没有正式发布,所以暂时也没有升级的打算(除非有比较严重的bug),到.net框架2.0发布时我会考虑升级这个控件。谢谢您使用AspNetPager,欢迎提出宝贵意见!

2005-09-10 20:30  vvf

吴大哥前辈,我是个刚接触.net的新手,
用AspNetPager分页中的这个段代码看不懂:
void ChangePage(object src,PageChangedEventArgs e)
            		{
            			pager.CurrentPageIndex=e.NewPageIndex;
            			BindData();
            		}

这是算个自定义的函数吗?
还是把其中的
     pager.CurrentPageIndex=e.NewPageIndex;
     BindData();

放在某个事件内?那是哪个事件呢?怎么找不到ChangePage事件呢?

谢谢前辈指点!谢谢!
houniao006@163.com
回复:您好,这里的ChangePage就是分页控件的PageChanged事件的处理程序,不能说把代码放在事件内,而应该说放在事件处理程序内。谢谢!

2005-09-09 09:34  溜达

再请教未能将对象引用设置到对象实例。具体是这样的:该用户能出现登陆界面,在该界面根据用户名,定义了cookie1,然后进入查询功能界面,在查询界面首先要求用户选择查看的对象(一个人或整个部门),即会转到选择对象的界面。在选择对象的界面中是dropdownlist控件,dropdownlist控件的内容是根据cookie1的不同绑定不同的内容。我从web服务器的事件查看器中,出错的页面是选择对象的界面(dropdownlist控件),把防火墙也关过了。其他用户正常的。请问有什么错误会导致呢?
回复:从您的描述中并不能确定是无法获取客户端的Cookie而造成的,您可以在程序中设置断点跟踪调试一下看看获取的Cookie值是不是null,如果确实不能获取客户端的Cookie,最可能的原因就是客户端禁用了Cookie,或者客户端的某些软件(比如防火墙等)阻止了浏览器将Cookie发回服务器。

2005-09-08 18:13  sunshine

AspNetPager anp = new AspNetPager();
anp.PageSize = 4;
anp.RecordCount = 21;
anp.CurrentPageIndex = 1;
anp.PageChanged +=new PageChangedEventHandler(anp_PageChanged);
anp.RaisePostBackEvent("anp");
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
anp.RenderControl(htw);
String s = sw.ToString();

/*
直接在页面里面初始化如上,anp.RenderControl(htw);这句话出错:未将对象引用设置到对象的实例。不知道还有什么没初始化。找不到源码只能来请教了。希望大哥不另赐教。
*/
回复:您好,我试了一下,确实如您所说在RenderControl()时抛出异常,后来发现启用Url分页(UrlPaging=true)或者使用默认的PostBack方式分页但把RecordCount的值设为小于或等于PageSize的值就不会出错,从中可以看出是分页控件在产生回发方式的分页按钮时调用了Page.GetPostBackClientHyperlink()这个方法引起的,至于为什么这里会出错,我也还不是很清楚。另外不知您说的源码是什么意思?如果是指AspNetPager的源码,在安装控件后虚拟目录下的source文件夹中就是。谢谢!

2005-09-08 13:35  天涯

看了大家的评价。。确实不错啊。。
我是个。NET的初学者。。
只会VB。。C#的看不懂啊。。能不能提供VB的演示代码啊
还有SQL不用存储过程能用这个吗?望指教
再次感谢!!
回复:从错误消息看应该和数据库连接字符串有关,您试试改用OLE DB来连接,象这样:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;" ,谢谢!

2005-09-08 10:46  溜达

有一个客户端不能读取cookie.客户端错误:未能对象引用设置到对象实例。ie6.0版本,已经在客户端设置Internet选项中的隐私设为中,高级中没有选中覆盖自动cookie处理复选框。清除过临时文件了。
其他机器正常读取,该客户端该怎么设置?
回复:未能对象引用设置到对象实例?这个错误太普遍了,您能确定是因为Cookie的问题引起的吗?是什么样的代码出现这样的错误呢?

2005-09-07 14:51  在VS中找不到??

在VS中找不到控件位置??下msi的....找不到??????
回复:对不起,我没有看懂您的意思,不知您能否说清楚点?谢谢!

2005-09-07 14:30  错误信息->日志

运行时的错误信息不能在客户端显示详细错误?都是/服务器应用程序错误,要你设置customErrors 的mode。如果要在客户端出现详细的错误信息呢? 
不管我这么设<customErrors   mode="On" />
 还是这么设<customErrors   mode="Off" />,还是这么设<customErrors   mode="RemoteOnly" />
怎么都是/服务器应用程序错误,提示设置customErrors ,而不是详细的错误信息。怎么设置能在客户端出现详细的错误信息。当然这样在客户端不友好。
比错误的详细信息是:
ERROR [42000] [Informix][Informix ODBC Driver][Informix]A syntax error has occurred. 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
异常详细信息: System.Data.Odbc.OdbcException: ERROR [42000] [Informix][Informix ODBC Driver][Informix]A syntax error has occurred.

而不是这样的信息:
<!-- Web.Config 配置文件 -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly"/>
    </system.web>
</configuration>
回复:您确认您的虚拟目录设置正确吗?您修改的web.config文件位于虚拟目录的根目录下吗?只有根目录下的web.config中的customErrors配置节才会起作用的,其它非根目录下的web.config文件中的customErrors配置是不起作用的。谢谢!

2005-09-04 10:23  徐灿钊

你好,因为方便,以前都是用你的控件,最近遇到了一个DataList分页出现的问题,<<  < 1 2 3..> >> 我的pagesize=3,当我一进去的时候DataList是显示3行,但是当我点击2的时候,它会出现6行,按道理来讲,应该实现后3行的,存储过程如下
Create PROCEDURE Book_PageGetComments
         	(@pagesize int,
            		@pageindex int,
@BookID int,

            		@docount bit)
            		as
            		set nocount on
            		if(@docount=1)
            		select count(Commentid) from Book_Comments where BookID=@BookID
            		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 Bookid from Book_Comments    where  BookID=@BookID 
            		select t.id,O.CommentID,O.UserIPfrom Book_Comments O , @indextable t  where  O.BookID=t.nid
            		and t.id>@PageLowerBound and t.id<=@PageUpperBound and b.UserID=O.UserID  order by t.id 
            		end
           		            		set nocount off

GO
当我执行的时候
exec Book_PageGetComments @pagesize=3,@pageindex=2,@BookID=93,@docount=0
显示的t.id居然全部是4,很明显是declare @indextable table(id int identity(1,1),nid int)
中的id是唯一的标识,怎么会出现这种情况,请吴老师抽空回答一下我,谢谢
回复:您好,表变量@indextable中的id既然是自增长的标识列,它是不可能重复的,可能出现重复的应该是您的Book表中的BookID,请检查是否如此?如果您的BookID不是标识列而有重复值,那么就无法正确取出要分页的数据(所有BookID相同的记录都被当成一条记录取出来了)。谢谢!
;