BS一下Datalist使用PagedDataSource分页的Bug

Silx 发表于 2008-02-22 23:14:19

无意中发现这个Bug已经浪费了3个多小时。。。

背景:

protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
             FillData();

    }

void FillData()
    {
        if (this.DropDownList1.Items.Count > 0)
        {
            PagedDataSource Pds;
            Pds = new PagedDataSource();
            Pds.DataSource = dataAccesser.InfoDataAccesser.InfoDataAccesserrHandler.getInfoBySubject(this.DropDownList1.SelectedValue.Trim()).DefaultView;
            Pds.AllowPaging = true;
            Pds.PageSize = Convert.ToInt32(this.pageSize.Value);

            this.currentPage.Value = Pds.CurrentPageIndex.ToString();
            Pds.CurrentPageIndex = 0;
                       

            this.DataList1.DataSource = Pds;
            this.DataList1.DataBind();

     } 

分页代码部分略。
页面的datalist使用了itemCommand事件,并在datalist里有个linkbutton,commandName是delete

点击页面的linkbutton时,itemcommand事件没有被触发,页面效果是datalist的内容被清空(此时分页仍然可以正常使用)

多次debug后仍然没有结果,于是新建了一个datalist,在页面绑定objectdatasource数据源并使用itemcommand事件和linkbutton,发现此时点击linkbutton有效果,可以触发itemcommand事件,于是确定肯定是以上部分的代码的问题。
经测试发现:如果第一次给datalist绑定数据源时,将其绑定在pagedDatasource上时,linkbutton不会触发itemcommand事件

以下语句可以实现分页并且linkbutton有效

protected void Page_Load(object sender, EventArgs e)
    {
        if(!IsPostBack)
             FillData();

         this.DataList1.DataSource = dataAccesser.InfoDataAccesser.InfoDataAccesserrHandler.getInfoBySubjectTopN(this.DropDownList1.SelectedValue.Trim());
         this.DataList1.DataBind();

    }

getInfoBySubjectTopN方法是根据页面分页大小而取回的第一页,在增加这段后页面工作正常

原因目前不明,查证中

关键词(Tag): datalist pageddatasource

大史记1

Silx 发表于 2008-02-20 14:17:35

好长时间没更新了,一是回家,而是比较忙
二十八那天回家差点没搞死。
中午十一点离开公司,去超市买了点面包蛋糕牛奶矿泉水,顺面一笼小笼包当中饭,就背了一个工作包,拎了一个装吃的东西的袋子,十点五十坐上去广州的大巴。车上发现包子实在是难吃,本着不浪费的原则硬吃了一半,先放在袋子里存着了。大约两点半汽车到了琶州车站(由于广州省站已经关了,全停到琶洲去了),一路上司机被臭骂了N回(开车慢,到处停,走错路。。。)下车去地铁,走到新港东地铁站,正碰上琶洲等火车的人到广州站的直达地铁,从琶洲车站那边连了一个通道到地铁站门口,只放他们进地铁站,要等他们走完。差不多半小时后上了地铁。。。到越秀公园快四点了,从朋友那边拿到票,上了个厕所去排队。因为早有准备,到那时我当天喝了两口水,就怕排队站不住。到了流花路才觉得排队的场面真的很壮观:火车站两头全封,剩下正前方的流花路放人,还是一段段的放,一条800米左右的路有十几个临时栅栏。。。流花路口这边稍微混乱一点,就像一个漏斗,然后流花路就是那个漏斗的管子,一大群人往里塞。5点多的时候下了小雨,大家都开始撑伞了。背包太长时间肩膀有点疼,正好旁边有个人提了个桶子,把包先搁上面休息下肩膀。放人的速度超级缓慢,早在排队的时候看见流花路的天桥,大约在7点的时候觉得桥稍微离自己近了一点点----可能五六米吧。队伍依旧暴挤,远远往后看去队伍不像之前那样呈漏斗状了,队尾往后拐了过去,往旁边那条路又排过去好远。心里琢磨了一下就这速度别说今天,再来个两三天也回不去。大概七点二十左右,来了一大批武警,把整个队伍强行扭成一条长龙(期间混乱无数,有人大叫包丢了),然后开始大量放行。大约七点四十,终于走过刚才看见一直觉得遥不可及的天桥,在过天桥十米处又赌上了。然后大约每半小时放行一次,每次能走几十米,然后又是栅栏堵上。差不多九点半,有点饿了,拿块面包出来吃。跟旁边的武警聊了会,说我们这队人今天12点能上车就不错了,狂汗。。。大概十点多点,走到了火车站门口的高架桥下,远远能看到火车站的大表,绿色的,跟鬼火一样。。。听到火车站的广播,到长沙方向的走第一、二通道排队,问武警的说通道在哪,说进广场就知道了。火车站广场果然人还很多,我们跟一大批人挤在公共汽车站那个坪里,看见前面还等了不少人----看来又是分批放人,这批人好像已经等了挺长时间了,就等这个坪里人满了。果然十分钟后队伍就开始动了,随人流来到里面,看到广场上一圈临时厕所----看来广州站还比较厚道,然后是一排醒目的临时雨棚,上面标号1、2。。。立刻窜到1号,在里面排队。不得不说一下我本来打算做N558走的,虽然票是N556的,这车正点9点40进站。在1通道排上队是10点30左右,心里想这还没进站呢,估计这车已经没戏了。继续等到十一点二十,终于开始放人了,估计有车来了,跟着大队人马冲到候车室,赶紧去趟厕所,然后排对等上车,看了下表,现在十一点半。约五分钟后,广播说N558到站了,停四站台。我靠,难道还有希望?这车从深圳开长沙的,虽然晚点得有些过分,不过我正好赶上。等了十分钟,没见候车室开始放客,我又排在靠后,有点着急了,难得这车晚点这么长时间,恐怕难赶上。十一点四十五左右广播说N558已经离开车还有5分钟,停止检票。Faint!!!又过了十几分钟,广播有个临客到站,候车室开始放人----十分想Fuck车展这帮SB,我们这块人后车的这个区域的通往站台的门不开!!!怪不得刚才N558没放人!!!队尾变队头,从旁边一个门迅速冲往站台(还好在队尾,赶上人流先出去了)。到站台一看,shit,广州到郴州,还差一大截啊,怎么可能做这个车回家!!忽然想起来N558貌似在四站台,还是去碰碰运气看看。跑到展台的尽头,跳下铁轨,爬上四站台,发现四站台有两辆车。逮住一个还没上车的列车员,“这个是N558吗”,“不是N558早就开了”。晕,废了,在站台上等等下趟车吧,还有N556,我于是想。“你看看对面那个是不是N558,深圳来那个”,刚才那个列车员说,“谢谢啊”,赶忙跑到对面,一看车牌确实是深圳到长沙,马上找地方上车。一连跑过几个车厢,门都是关的,直到最后一个硬座车厢,发现有列车员还开门站在门口,貌似在等人上车。马上拿出票,先上车再说。上车约半分钟列车员就关门了。因为是卧铺票,所以跟他商量了一下补个卧铺,于是他开门放我过卧铺车厢,然后又把门锁上了。走在卧铺车厢的过道上长出了一口气,终于上车了,从六号车厢刚走到十号车厢,火车就开车了,此时十二点十分。补票还算顺利。坐在卧铺的边坐上狂灌了一大口水,心里想这一口水比我一天喝得水都多。睡上床后两脚一直发麻,估计是今天站的时间太长的原因,毕竟从两点半下大巴就没坐一下。一觉醒来是早上8点,吃了一袋面包,喝了一盒奶,到长沙十一点多,想想昨天差不多就是这个时候从公司走的,回得来也真是运气。在家吃喝了几天比较舒服的,回来的火车已经好多了。
“下次再也不坐火车了”,这是我回家唯一的感概。。。
关键词(Tag): 大史记

准备明天出发

Silx 发表于 2008-02-01 20:48:38

今天收到消息,回家那趟车N560只晚点8个小时(这车平时也就要8个半小时而已),貌似可以回家了,手上的是明天的卧铺,过了明天要再做这趟车走的话就只能硬座了,还是去广州看看。今天看新闻,广州站的场面也够吓人,人都排到广场口的高架那边去了。。。
希望明天别出什么岔子,那样的话就直接回珠海过年了。。。
关键词(Tag): 准备闪了

10分钟晚餐

Silx 发表于 2008-01-31 19:47:30

前提是手脚比较麻利
最近比较冷,来碗热汤是再好不过了,最好加点胡椒粉,姜就算了,串味儿,不如直接老姜肉片汤---个人觉得还是老姜排骨汤比较好,然后在滴点醋,不过10分钟要搞定就不大可能了,排骨还是文火多煮一会够味,有点海带就更好了(越扯越远了。。。)

选料纯看心情,今天去超市买了一包墨鱼丸,6个,一包鱼豆腐,10小块,一起5块5角,剩下的5角买了半斤米粉(加上家里还有没吃完的紫菜,没有的话一定买一点,要买有包装的,不然沙子多)

准备工作,按这个顺序花的时间应该是最少最紧凑的:大碟子一个,小汤锅,电磁炉加其配套火锅,蒸架
架电磁炉,洗锅,加少量水(等会用来蒸东西,一点就够),开到150度档
小汤锅盛适量水(看想喝多少汤了),丢入冰冻的丸子,火不用开太猛(因为丸子是冰冻了,慢火的话水开了丸子肯定热透,大火不好说)
米粉洗干净(把装米粉的袋子翻过来就可以上手抓了,闲袋子不干净可以用保鲜纸或用筷子),装到碟子,干蒜泥+盐+豆豉油+油+其他自选(我加了点剁辣椒),拿翻过来的袋子用手拌好(此时距电磁炉点火花了约4分钟)
电磁炉水差不多开了,放蒸架和碟子,盖上盖,开小火
1分钟后汤锅也开了,开小火,加入紫菜,油,搅拌一下,小火继续闷一分钟,开盖放点胡椒粉,继续半分钟就可以关火了,在桌上垫一块抹布防止桌子烫伤,端汤殿上去,再把电磁炉关了可以端来吃了。

饭后:
要洗的如下:汤锅(有点油,也不麻烦),碟子(有油),火锅(没油,很好洗),勺子,筷子
胡椒汤喝了
好暖和

基本汤好了就可以吃饭,因为粉弄熟很快。东西好像多了点,最后剩了点粉没吃完,看来下次可以少买点了。因为今天没有经过菜市场所有没买青菜。。。其实这个汤弄点芹菜和香菜叶子一起煮更加香,但今天走到菜场门口还是懒得拐弯了。。。
关键词(Tag):

貌似回不去了

Silx 发表于 2008-01-30 21:07:39

去年9月份从上海跑过来,也不知道是幸运还是不幸
上海那拨同事已经在计划就地过年的详细事项了,虽然雪是厚点,外面是冷点,但这依然无法影响他们计划过年睡大觉囤积泡面的计划。。。开个玩笑,貌似有人提议出游,去崇明岛看雪似乎也不是个很馊的主意。。。往南的基本都回不去了,往北的拿着车票正在等时间跑路。幸福的人都一样,不幸的各有各的不幸:买不到票的,买到票走不了的,现在还在卡着出不来的,买到票火车不开了要退票的,退了不久听说火车又开出去的,买黄牛票最后又退票的(此处强烈谴责黄牛不提供售后服务)。。。结果都差不多----回不了家。
我现在也琢磨着什么是不是退票算了,2号晚上的,虽然还可以观望两天,但形势不容乐观----到时候能不能回来还不好说。今年比较失败的是没买机票,不过天气预报说暴雪有愈演愈烈的趋势,到时候飞机能不能飞也不好说。

囤积点菜准备过年

是不是去买个XBox360?那样比较不会无聊

关键词(Tag): 郁闷中

乱弹排骨饭

Silx 发表于 2008-01-27 19:25:20

前期准备:
小碗一只,稍大点碗一只(装下排骨就可以,最好是碟子),再大点碗一只
6.5元的排骨(今天买了这么多),骗来的‘一根’香菜(因为没花钱)
生粉,油,盐,李锦记豆豉油,现成的蒜泥(干蒜泥,家里有的,没有就算了),其余调料如料酒等随意(我这边就剩这么些了)

加工:
点火,烧水
用再大点的碗装一人份的米,洗了放锅里蒸
记得看火
拿出切好的排骨洗一下(我自己是懒得剁,当然是卖肉的切好的),观察一下是不是有太大的块,有必要的话拿菜刀悬空来几下,弄完放到稍大点的碗里
一定比例生粉、盐、豆豉油、蒜泥混合物,兑少量热水,打匀,倒入排骨碗搅匀,再放入点油,继续搅(这里没有把油和那几样调料一起打匀,为了是那只碗好洗)顺便把香菜掐断扔进去,只要杆不要叶子。(当然是‘掐’,难道为了这根菜有拿出菜板?)可以把排骨拌好放置一段时间,这样好入味(反正总是要拌的,早点拌了放一会味道还好)
(此步可选)把拌好的排骨放入微波炉中高火4分钟,弄完后拿出来等饭定型
等饭差不多定型了,把排骨扔进去,铺平,继续蒸几分钟,这里切不可开猛火,只能文火
我继续蒸了10分钟,不知道蒸过头没,尝了一下觉得味道不错,关火,吃饭

饭后:
要洗的东西如下:
锅子,不管怎么说也擦一下吧,很好洗,洗完烧干一下防止生锈;两只油碗,这两个麻烦点。。;一只小碗,基本冲两下就干净
整个过程身上没有沾一点油烟,吃得相对较爽(排骨出来的汁混在饭里面很好吃,再有点老干妈就更好了,可惜吃完了)
前期准备忙了大约6分钟,然后回房里上网,然后把排骨铺在饭上,盖上锅盖继续上网,过10分钟开吃,加上洗碗在厨房总共10分钟左右,因为没油烟排气扇也懒得开
关键词(Tag): 排骨饭