留言簿

我要留言
留言搜索

2010-04-29 10:39  锋少

杨老好,您起的啊?呵呵,咱老乡啊,咱这茫茫互联网中能看到咱陕北也有这样的能人,真是由衷的激动,这么多年就没碰到一个咱陕北的做技术的,郁闷的很。偶然看到你的分页控件,真的好自豪,方便告诉我Q吗?或者MSN?
回复:您好,您也吴起人吗?请通过webdiyer @ gmail邮箱和我联系。谢谢!

2010-04-29 09:12  卜酷塔

您好,吴先生

忘记说了,我的浏览器版本为IE7.0
回复:谢谢您!不过我不姓吴,我姓杨:)吴起是我老家所在的县城的名字。

2010-04-29 09:10  卜酷塔

您好,吴先生

我在浏览的时候发现您的验证码控件中的Ajax加载演示的那个没有显示出来图片,并报告javascript脚本错误。

行:5
Char:11
错误:Object required
代码:0
URL:http://www.webdiyer.com/Controls/MvcCaptcha/AjaxDemo
回复:您好,我已经升级到IE8很长时间了,开发时用IE8、Firefox 3.5、Opera 10等浏览器都测试过,没有发现问题,今天用IE8的Developer Tools在IE7模式下测试确实出现您说的脚本错误的问题,但出错的是左边的导航菜单的脚本,和验证码控件没有关系,Ajax加载模式下,验证码图片只有在验证码输入文本框获得焦点后才显示。您说的问题我会抽出时间解决一下,非常感谢您的热心!

2010-04-28 21:52  layne

你好,我今天使用这个分页控件,我是根据Request.QueryString["id"]来获取需要分页的资源的,比如我网站的某个类的id是28,可是我得到的是2828,代码如下if (Request.QueryString["id"] != null)
        {
            int sid = int.Parse(Request.QueryString["id"]);
            Access_Products_Infos pro = new Access_Products_Infos();
            List<Model_Products_Info> proModel = pro.ReadProductBySidUserlevel(sid, userlevel);
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = proModel;
            pds.AllowPaging = true;
            pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
            pds.PageSize = AspNetPager1.PageSize;
            AspNetPager1.RecordCount = proModel.Count;
            DataList1.DataSource = pds;
            DataList1.DataBind();
        }
这是写在自定义void bindData()里,是不是因为在 AspNetPager1_PageChanged和pageload里执行了2次?
回复:您用什么分页方式呢?如果是url分页,只需要在PageChanged事件处理程序中绑定和显示数据,不用在Page_Load方法中绑定,这样会导致数据被绑定两次,因为Page的Load事件本身就会触发AspNetPager的PageChanged事件。不过您的问题似乎与这个问题无关,不管数据被绑定几次,url中的参数值不可能被修改,您可能需要在VS中设个断点逐步调试看问题出在什么地方。谢谢!

2010-04-27 16:06  PEPCO

请教吴先生:

网站提供的“生成SQL Server分页存储过程”很不错,但是看过网上一些资源,sql2000存储过程分页有好几种办法,不知哪种效率最好呢?生成器那个应该是临时表技术,听说效率不是很好。
回复:您好,不用临时表只能用表变量,如果临时表和表变量都不用,那只能用多重select语句,这样的效率我测试过会更差,用那种动态拼接sql语句然后用exec函数执行的存储过程效率和普通sql语句差不了太多,因为它失却了存储过程编译执行的好处,不知道您还有什么更好的分页存储过程吗?

2010-04-27 13:19  善居客

你好,我在使用程序中动态使用AspNetPager是时候,把HtmlTextWriter参数传到控件里面然后,通过HtmlTextWriter获得AspNetPager生成的HTML的时候报错,请问怎么解决?
回复:是什么错误呢?AspNetPager不可以这样用,因为分页控件需要在页面上注册一些客户端脚本才能正常运行,您这样呈现出来的控件无法注册脚本,也就无法正常运行,不知道您为什么要这样做?

2010-04-27 11:17  大海

我用的是存储过程,有个问题;
在存储过程里执行是对的;
是程序里执行时对,时错;
我首先想的是参数没有传对 ;
于是我把参数大小给去了;
程序里执行还是时对时错;
回复:您好,请调试检查您的程序传递的变量及参数和返回值等,在这里我无法帮上您,谢谢!

2010-04-27 10:54  springal

你好,请问下我在使用分页控件的时候为什么第一页可以正常显示数据,第二页以后就没任何显示的呢?
//这是存储过程-------------------------------------
CREATE PROCEDURE tb_wxb_pro
@tblname VARCHAR(255), 
@strGetFields nvarchar(1000) = "*", 
@fldName varchar(255)='', 
@PageSize int = 10,
@PageIndex int = 1,
@doCount bit = 0,
@OrderType bit = 0,
@strWhere varchar(1500) = ''
AS
declare @strSQL varchar(5000) 
declare @strTmp varchar(110) 
declare @strOrder varchar(400) 
if @doCount != 0
begin
   if @strWhere !=''
    set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 '+ @strWhere
   else
    set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end
else
begin
   if @OrderType != 0
   begin
    set @strTmp = '<(select min'
    set @strOrder = ' order by [' + @fldName +'] desc'
   end
   else
   begin
    set @strTmp = '>(select max'
    set @strOrder = ' order by [' + @fldName +'] asc'
   end
   if @PageIndex = 1
   begin
    if @strWhere != ''
     set @strSQL = 'select top ' + str(@PageSize) +' ' + @strGetFields + ' from [' + @tblName + '] where 1=1 ' + @strWhere + ' ' + @strOrder
    else
     set @strSQL = 'select top ' + str(@PageSize) +' ' + @strGetFields + ' from [' + @tblName + '] ' + @strOrder
   end
   else
   begin
    set @strSQL = 'select top ' + str(@PageSize) + ' ' + @strGetFields + ' from ['   + @tblName + '] where [' + @fldName + ']' + @strTmp + '(['+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' + @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)' + @strOrder
    if @strWhere != ''
     set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from [' + @tblName + '] where [' + @fldName + ']' + @strTmp + '([' + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' + @fldName + '] from [' + @tblName + '] where 1=1 ' + @strWhere + ' ' + @strOrder + ') as tblTmp) and 1=1 ' + @strWhere + ' ' + @strOrder
   end 
   if @strWhere !=''   
    set @strSQL =@strSQL+ '; select count(*) as Total from [' + @tblName + ']
回复:您好,这样经过复杂拼凑而成的存储过程根本无法直接看出问题在哪里,您需要自己用VS和sql server profiler等进行调试。谢谢!

2010-04-26 17:39  桑辛

前辈你好!我在使用分页控件的时候,遇到一个怪问题,就是绑定数据源为DataSet时正常,但是我绑定数据源为List<model>泛型类时,分页实现了,但是分页控件却不出来了,就是原来那个“上一页、下一页...”没了,请问这大概是怎么回事啊?
回复:您好,您说的是AspNetPager还是MvcPager?如果是AspNetPager,那么不管您的数据源是什么类型和控件没有任何关系,只要正确设置分页控件的RecordCount就行了。如果是MvcPager,那么它只能配合PagedList进行分页,因为PagedList类中有分页相关的属性值,用List无法分页。谢谢!

2010-04-24 00:08  王生

真是非常强大啊!vs2010中文版出来了吗,看站主好像都用上了。
回复:是的,从beta版就用上了,已经开发过两三个项目了。谢谢!
;