一信息类网站,注册用户可以在自己的控制面板里发布二手信息和活动信息 
成为会员就可以将信息置顶(如图) 
      首页置顶/月  二级页置顶/月 
vip会员 2天      10天 
 
点击“置顶“,弹出一个对话框可以选择置顶的时长: 
 现在假设用户的vip会员服务时间是从2009/10/31 到2010/10/31 
在选择置顶的时有下面几种情况: 
1. 成为会员的当天就选择置顶 a.选择第一项,并且只置顶了一条信息,(置顶服务不累计到下月) 
b.选择第二项,这样置顶服务到了下月,但服务仍算在当月,下月依然享受正常的置顶服务。 
2. 如果成为会员的当月选择置顶服务,则服务结束的尾月就不能享受服务 
  如果成为会员的当月没有选择置顶服务,则服务结束的尾月就能享受服务 
3.如果选择第一项,当月最多有两条信息能享受置顶服务 
  如果选择第二项,当月就只有一条信息能享受置顶服务 
问题: 
1. 置顶的信息在首页和分类页面置顶的时长是不一样的,怎么计算和判断 
2. 怎么计算和判断置顶信息 
  
  

解决方案 »

  1.   

    回答问题1:分别在首页和类别页的PAGE_load中可以判断。判断当前时间-发布时间>2或者10(置顶时长,你的置顶时长字段在哪里了?)如果大于就取消置顶,并更新置顶结束时间,并取下一个待置顶帖A,把待置顶帖置顶,并把更新他的置顶开始时间,。其它还没有看明白。继续思考中。
      

  2.   

    如gridview绑定数据,在databound里查询用户以置顶的信息数,是否超过规定,设置置顶是否显示
    月时间范围
    beginDate = new DateTime(year, month, 1);
    endDate = beginDate.AddMonths(1).AddDays(-1);
    主要就是根据时间查询用户置顶信息