回复  引用    
#1楼 2008-02-24 23:14 | 菲菲菲菲菲菲 [未注册用户]
谢谢 很有帮助
  回复  引用  查看    
#2楼 2008-02-25 07:10 | 金色海洋(jyk)      
怎么没有做成用户控件呢?
  回复  引用  查看    
#3楼 [楼主]2008-02-25 08:37 | 张子阳.      
@金色海洋(jyk)

你的评论我没看太懂,请你解释一下应该怎样做吧?我觉得已经是用户控件了,而接口只是提供扩展,可以实现也可不实现(如果你打算采用QueryString形式的链接获取方式)。


这里有个自定义个控件,可以参考
http://www.webdiyer.com
  回复  引用  查看    
#5楼 [楼主]2008-02-25 09:13 | 张子阳.      
@(武眉博<活靶子Net> )

好的,谢谢~
  回复  引用  查看    
#6楼 2008-02-25 09:15 | yangjun      
从你的很多文章中,我收获了很多营养.深表感谢!加油
  回复  引用  查看    
#7楼 2008-02-25 09:17 | Vincent Yang      
--引用--------------------------------------------------
张子阳.: @金色海洋(jyk)

你的评论我没看太懂,请你解释一下应该怎样做吧?我觉得已经是用户控件了,而接口只是提供扩展,可以实现也可不实现(如果你打算采用QueryString形式的链接获取方式)。


-------------------------------------------------------
你做的是Web控件,用户控件是可以直接编译成一个DLL的,然后直接拖拽
  回复  引用  查看    
#8楼 [楼主]2008-02-25 09:19 | 张子阳.      
@Vincent Yang

你说的按我理解是 Custom Control(自定义控件),我说的是User Control(用户控件)

现在这样改起来比较方便,而且可能我还想设置不同的显示方式,比如有时候想这样显示: 1 2 3 ... 18 ,等完善了再做成 自定义控件。

  回复  引用  查看    
#9楼 2008-02-25 11:38 | 佳文      
楼主很多文章都有关注,
很有帮助!
支持
  回复  引用  查看    
#10楼 2008-02-25 11:39 | andy.wu      
建议将分页逻辑独立为一个组件,在显示控件中调用分页逻辑组件。
  回复  引用  查看    
#11楼 2008-02-25 12:13 | 金色海洋(jyk)      
不好意思,早上时间匆忙写错了。

不是用户,而是自定义服务器控件。


  回复  引用  查看    
#12楼 2008-02-25 12:32 | 金色海洋(jyk)      
其实有好多地方是可以优化的,从显示速度的角度考虑。

另外查询条件的地方有没有考虑呢?

比如查询的页面,用户输入了几个关键字,然后用分页的形式来显示查询结果。

在分页的时候查询条件如何保存?

(没有仔细看,不知道你的控件有没有考虑到)
  回复  引用  查看    
#13楼 [楼主]2008-02-25 12:39 | 张子阳.      
@金色海洋(jyk)

查询条件当然可以保存,因为DefaultUrlManager类对于URL的处理是使用正则表达式 替换了 ?page= 或者 &page= 后面的页数,对于其他的参数不管是顺序还是数值都不加改动。

  回复  引用  查看    
#14楼 [楼主]2008-02-25 12:39 | 张子阳.      
@佳文
谢谢支持~~!

@andy.wu
谢谢建议~~

  回复  引用  查看    
#15楼 2008-02-25 13:03 | 金色海洋(jyk)      
我是说表单里的查询条件,

表单提交 url里面是不会有参数的。

比如页面里有一个文本框,输入新闻标题,作为查询条件。

这时候翻页了,这个条件(新闻标题的查询条件)如何处理呢?
  回复  引用  查看    
#16楼 2008-02-25 14:09 | 隐姓埋名      
能绑定 数据源吗? 就是 用户控件有没得 一个属性能指定 数据源呢?
比如指定为 OBJDATA``` 而且是那种 浏览方式` 一点 就能显示出
当前页面上的 数据源 对象``` 呵呵``` 不知道 能理解吗?

谢谢~
  回复  引用  查看    
#17楼 [楼主]2008-02-25 14:19 | 张子阳.      
@隐姓埋名

能理解,不过很遗憾,不支持。如果你有办法达到这样的效果,不妨提供参考,或者提供一些可供参考的URL链接,谢谢!
如果要指定,让我做的话可能仅仅是在控件内保存一个对指定的数据源控件的引用。
另外,这个控件是用来显示分页,而不是用来显示数据,为什么要指定一个数据源控件呢?仅仅为了取得所需行数么?

@金色海洋(jyk)
你说的那样是产生 PostBack 的,我没有考虑那种情况,因为这个主要应用在Web站点程序(区别于Web应用程序),此时我希望页面上的内容是通过 Get 请求可以访问的。

  回复  引用    
#18楼 2008-02-25 17:08 | xiazhi33 [未注册用户]
Bug还有点多呀`
请 LZ 发布最终版吖`

  回复  引用  查看    
#19楼 [楼主]2008-02-25 18:06 | 张子阳.      
@xiazhi33

这位大哥,我发出来你发现Bug就提出来啊,这样我改起来不是更快些么?而且我没有编译成dll文件,你也可以自己直接改代码。

我现在发现的Bug是PageSize为0的情况,我现在要去吃饭,等会儿回来更新。

  回复  引用  查看    
#20楼 2008-02-29 18:38 | 金色海洋(jyk)      
有两种情况会 产生 PostBack

1、后台管理里的查询。
网站要有一个后台管理吧,这里面少不了查询,如果这里的查询也用get的话,那代码量就会多很多。

而且asp.net提供了viewstate 功能,能够自动保存状态,如果后台管理里使用URL分页的话,viewstate 功能就完全用不上了。

网页不用 viewstate 是好事,但是后台管理不用的话,就郁闷了。

2、网页里的查询。

网页里面也会有查询吧,这里的查询倒是可以用URL的方式传递查询条件,因为查询条件会比较少。

还是那句话,用postback保存查询条件会比较方便。


我的分页控件就是两种:一个是URL分页,一个是PostBack分页。分别用于网页和后台管理。


即使是URL的方式,我也会把查询条件“自动”加在URL的参数里面,在接受到的时候,由分页控件自行处理,而不用调用者操心。

我的标准:通用的操作、复杂的操作,都要放在控件里面处理。

过两天要出差了,回来再整理一下我的分页控件,发一下,感兴趣的话,一起研究一下。

http://www.cnblogs.com/jyk/archive/2007/05/31/766908.html

这里有我的思路。
  回复  引用    
#21楼 2008-03-04 12:34 | xiazhi33 [未注册用户]
BUG!
在页面上 提交POST
会说 IURL 啥的 为空`

你放一个 按钮 跟用户控件
一个页面` 提交下就知道了哇` 请修补```

支持!!!
  回复  引用  查看    
#22楼 [楼主]2008-03-04 14:24 | 张子阳.      
@xiazhi33

页面产生有PostBack的时候把类似这样的语句:
CustomPager1.UrlManager = new DefaultUrlManager(337);
放到OnLoad事件中,注意不要放在 if(!IsPostBacke){...}程序段中。

  回复  引用  查看    
#23楼 [楼主]2008-03-26 21:36 | 张子阳.      

这个用户控件还很不完善,它没有维持ViewState,这样在PostBack的时候必须重新生成一遍控件,影响性能。另外最好实现为 自定义控件(Customer Control) ,我有时间了会继续完善它。


  回复  引用    
#24楼 2008-06-19 10:46 | SamXie [未注册用户]
请问 在 asp.net 2.0 里用这控件, 页面为什么会刷新两次?
谢谢
  回复  引用  查看    
#25楼 [楼主]2008-06-19 18:57 | Jimmy Zhang      
@SamXie

我不知道你说的是什么情况,我在 http://www.tracefact.net 也用的这个控件,也是Asp.Net 2.0,你可以看一下是否有你说的刷新2次的情况。

  回复  引用    
#26楼 2008-06-27 20:06 | aabs [未注册用户]
不管怎么样对我是很有帮助的,觉得不完善的自己改哈嘛,
又不是编译个dll要卖给大家!
做程序员不可以那么懒的,大家多讨论,多做哈。不要光等待!
支持楼主!
  回复  引用  查看    
#27楼 2008-07-11 16:11 | Selfocus      
太好了,正在找这方面的文章,谢谢!
  回复  引用  查看    
#28楼 2008-09-10 12:14 | 问天何必      
为什么我在你的基础上改了下。 增加一个文本框和跳转HyperLink . 但是为什么取不到文本框的值?
代码如下:
TextBox tb = new TextBox();

tb.ID = "txtIndex";

pnPager.Controls.Add(tb);


TextBox txtIndex = new TextBox();
txtIndex = pnPager.FindControl("txtIndex") as TextBox;
pnPager.Controls.Add(txtIndex);


txtIndex永远是空的。。。。
  回复  引用  查看    
#29楼 [楼主]2008-09-10 14:12 | Jimmy Zhang      
@问天何必

你要么把你改过的东西发给我看下,从你上面我看不出来,而且这个东东太早前的了,已经很久没有再看了。

  回复  引用    
#30楼 2008-10-22 11:54 | 巧妹 [未注册用户]
感谢你的帮助

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-09-27 17:16 编辑过
Google站内搜索

相关文章:

相关链接: