<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C#自定義分頁(yè)控件

       

      C#自己寫(xiě)的一個(gè)自定義分頁(yè)控件(源碼下載,沒(méi)有DEMO)

      分頁(yè)以前一直是用第三方分頁(yè)控件AspNetPager.dll,使用起來(lái)也挺方便的,就是樣式設(shè)置起來(lái)感覺(jué)不是很好,于是經(jīng)理決定我們自己做一個(gè)分頁(yè)控件,這個(gè)任務(wù)就交到我的手上。這個(gè)自定義分頁(yè)控件是模仿58同城的分頁(yè)及結(jié)合我們現(xiàn)在項(xiàng)目的需要寫(xiě)的。感覺(jué)比較實(shí)用,沒(méi)什么亮點(diǎn)。

        其實(shí)分頁(yè)控件也沒(méi)啥,就是生成相關(guān)的HTML代碼,你需要啥HTML代碼,用你的代碼生成就是了,不管是AspNetPager.dll還是58同城也都是生成分頁(yè)相關(guān)的HTML代碼,其實(shí)就是一堆a標(biāo)簽,點(diǎn)分頁(yè)的時(shí)候,分頁(yè)控件所在的頁(yè)面會(huì)刷新。

      一:用AspNetPager.dll實(shí)現(xiàn)的分頁(yè)

      圖:

       

       

       

      生成的源碼
      <div id="ctl00_Content_AspNetPager1">
      <a disabled="disabled" style="margin-right:5px;">首頁(yè)</a>
      <a disabled="disabled" style="margin-right:5px;">上一頁(yè)</a>
      <span class="al" style="margin-right:5px;">1</span>
      <a href="NewsList.aspx?page=2" style="margin-right:5px;">2</a>
      <a href="NewsList.aspx?page=3" style="margin-right:5px;">3</a>
      <a href="NewsList.aspx?page=4" style="margin-right:5px;">4</a>
      <a href="NewsList.aspx?page=5" style="margin-right:5px;">5</a>
      <a href="NewsList.aspx?page=6" style="margin-right:5px;">6</a>
      <a href="NewsList.aspx?page=7" style="margin-right:5px;">7</a>
      <a href="NewsList.aspx?page=2" style="margin-right:5px;">下一頁(yè)</a>
      <a href="NewsList.aspx?page=7" style="margin-right:5px;">尾頁(yè)</a>
      </div>

        二:58同城的分頁(yè)

        圖:

       

        

      生成的源碼
      <div class="pager">
      <strong><span>1</span></strong><a href="/zufang/pn2/"><span>2</span></a>
      <a href="/zufang/pn3/"><span>3</span></a>
      <a href="/zufang/pn4/"><span>4</span></a>
      <a href="/zufang/pn5/"><span>5</span></a>
      <a href="/zufang/pn6/"><span>6</span></a>
      <a href="/zufang/pn7/"><span>7</span></a>
      <a href="/zufang/pn8/"><span>8</span></a>
      <a href="/zufang/pn9/"><span>9</span></a>
      <a href="/zufang/pn10/"><span>10</span></a>
      <a href="/zufang/pn11/"><span>11</span></a>
      <a href="/zufang/pn12/"><span>12</span></a>
      <a class="next" href="/zufang/pn2/"><span>下一頁(yè)</span></a>
      </div>

       

        三:我的分頁(yè)控件 

      程序代碼
      <os:PagingControl runat="server" ID="paginglist" PageSize="4" CssCurrent="curpage"  ImgFirst="/images/index/btn_first.jpg"
      ImgPrev="/images/index/btn_prev.jpg" ImgNext="/images/index/btn_next.jpg" ImgLast="/images/index/btn_end.jpg" CssClass="pagelist">
      </os:PagingControl>
      paginglist.RecordCount = 200;
      paginglist.LoadControl();
      生成源碼
      <div class='pagelist'>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=1'><img src=/images/index/btn_first.jpg/></a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=23'><img src=/images/index/btn_prev.jpg/></a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=14'>14</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=15'>15</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=16'>16</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=17'>17</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=18'>18</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=19'>19</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=20'>20</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=21'>21</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=22'>22</a>
      <a href='/CommonQuestion/QuestionListContent.aspx?questionTypeID=0&page=23'>23</a>
      <span class=curpage>24</span>
      </div>

      程序源碼
      using System.Text;
      using System.Web;
      using System.Web.UI;
      using System.ComponentModel;
      using System.Collections.Generic;
      using System.Web.UI.WebControls;

      //自定義分頁(yè)控件
      namespace ObjectCommon.Libary.Component
      {
      [ToolboxData(
      "<{0}:PagingControl runat=\"server\"></{0}:PagingControl>"), DefaultProperty("")]
      publicclass PagingControl : Literal
      {
      #region 分頁(yè)屬性
      privateint pageSize =10;
      publicint PageSize
      {
      set {
      if (value >0)
      {
      pageSize
      = value;
      }
      }
      get { return pageSize; }
      }

      privateint pageIndex =1;
      publicint PageIndex
      {
      set
      {
      if (value >0)
      {
      pageIndex
      = value;
      }
      }
      get { return pageIndex; }
      }

      publicint RecordCount
      {
      set;
      get;
      }

      privateint PageCount =0;

      //分頁(yè)參數(shù)
      privatestring paraName ="page";
      publicstring ParaName
      {
      set
      {
      if (value !=null&& value.Trim() !="")
      {
      paraName
      = value.Trim();
      }
      }
      get {
      return paraName;
      }
      }
      #endregion

      #region Css
      //分頁(yè)控件的樣式
      publicstring CssClass
      {
      set;
      get;
      }

      //上一頁(yè)樣式
      publicstring CssPrev
      {
      set;
      get;
      }

      //下一頁(yè)樣式
      publicstring CssNext
      {
      set;
      get;
      }

      //當(dāng)前頁(yè)樣式
      publicstring CssCurrent
      {
      set;
      get;
      }

      //首頁(yè)樣式
      publicstring CssFirst
      {
      set;
      get;
      }

      //尾頁(yè)樣式
      publicstring CssLast
      {
      set;
      get;
      }

      //其它頁(yè)樣式
      publicstring CssOther
      {
      set;
      get;
      }
      #endregion

      #region Img
      //首頁(yè)圖片
      publicstring ImgFirst
      {
      set;
      get;
      }

      //上一頁(yè)頁(yè)圖片
      publicstring ImgPrev
      {
      set;
      get;
      }

      //下一頁(yè)頁(yè)圖片
      publicstring ImgNext
      {
      set;
      get;
      }

      //尾頁(yè)
      publicstring ImgLast
      {
      set;
      get;
      }
      #endregion

      // A標(biāo)簽的HRef
      privatestring ATargetHref
      {
      set;
      get;
      }

      //獲取paraname之外的請(qǐng)求參數(shù)
      privatevoid GetUrl()
      {
      HttpContext ctx
      = HttpContext.Current;
      string hostName ="http://"+ ctx.Request.Url.Host +":"+ ctx.Request.Url.Port ;
      string url = ctx.Request.Url.ToString().Substring(hostName.Length).Split('?')[0] +"?";
      StringBuilder query
      =new StringBuilder(url);
      foreach (string key in ctx.Request.QueryString)
      {
      if (key!=null&& key.ToLower() !=this.ParaName)
      {
      query.Append(
      string.Format("{0}={1}&", key, ctx.Request.QueryString[key]));
      }
      }
      this.ATargetHref = query.ToString();
      }

      privatestring GetUrl(int pageIndex)
      {
      returnstring.Format("{0}{1}={2}", this.ATargetHref,this.paraName, pageIndex);
      }

      //初始化屬性
      privatevoid Initializtion()
      {
      GetUrl();
      this.PageCount = (this.RecordCount -1) /this.PageSize +1;
      if (!string.IsNullOrEmpty(HttpContext.Current.Request[this.ParaName]))
      {
      this.PageIndex =int.Parse(HttpContext.Current.Request[this.ParaName]);
      }
      }

      //生成控件
      privatevoid LoadControl(List<Tag> divPaging)
      {
      if (divPaging ==null|| divPaging.Count ==0)
      {
      this.Text =null;
      return;
      }
      StringBuilder sb
      =new StringBuilder(256);
      if (this.CssClass ==null||this.CssClass.Trim() =="")
      {
      sb.Append(
      "<div>");
      }
      else
      {
      sb.Append(
      string.Format("<div class='{0}'>", this.CssClass));
      }
      for (int i =0; i < divPaging.Count;i++)
      {
      if (divPaging[i] ==null)
      {
      sb.Append(GetCurrentPage());
      }
      else
      {
      sb.Append(divPaging[i].ToString());
      }
      }
      sb.Append(
      "</div>");
      this.Text = sb.ToString();
      }

      privatestring GetCurrentPage()
      {
      if (this.CssCurrent ==null||this.CssCurrent.Trim() =="")
      {
      returnstring.Format("<span>{0}</span>", this.PageIndex);
      }
      else {
      returnstring.Format("<span class={0}>{1}</span>", this.CssCurrent, this.PageIndex);
      }
      }

      ///<summary>
      /// 加載控件
      ///</summary>
      publicvoid LoadControl()
      {
      if (this.RecordCount<=this.PageSize)
      {
      this.Text =null;
      }
      else
      {
      Initializtion();
      LoadControl(AddATarget());
      }
      }

      #region 創(chuàng)建標(biāo)簽
      private Tag CreateATarget(string img,string css,int pageIndex,string content)
      {
      Tag a
      =new Tag();
      a.HRef
      = GetUrl(pageIndex);
      if (img ==null|| img.Trim() =="")
      {
      a.InnerHtml
      = content;
      }
      else {
      a.InnerHtml
      =string.Format("<img src={0}/>",img);
      }

      if (css !=null&& css.Trim() !="")
      {
      a.CssClass
      = css;
      }
      return a;
      }


      #endregion

      // 向集合中添加標(biāo)簽
      private List<Tag> AddATarget()
      {
      List
      <Tag> divPaging =new List<Tag>();

      if (this.PageIndex >1)//添加上一頁(yè)
      {
      divPaging.Add(CreateATarget(
      this.ImgFirst, this.CssFirst, 1, "首頁(yè)"));//添加首頁(yè)
      divPaging.Add(CreateATarget(this.ImgPrev, this.CssPrev, this.PageIndex -1, "上一頁(yè)"));
      }

      int end =this.PageIndex +5;
      if (end <11)
      {
      end
      =11;
      }
      if (end >this.PageCount)
      {
      end
      =this.PageCount;
      }

      int start = end -10>0? end -10 : 1;

      for (int i = start; i <= end; i++)
      {
      if (i ==this.PageIndex)
      {
      divPaging.Add(
      null);
      }
      else
      {
      divPaging.Add(CreateATarget(
      null, this.CssOther, i, i.ToString()));
      }
      }

      if (this.PageIndex <this.PageCount)
      {
      divPaging.Add(CreateATarget(
      this.ImgNext, this.CssNext, this.PageIndex +1, "下一頁(yè)"));//添加下一頁(yè)
      divPaging.Add(CreateATarget(this.ImgLast, this.CssLast, this.PageCount, "尾頁(yè)"));//添加尾頁(yè)
      }

      return divPaging;
      }

      // 標(biāo)簽實(shí)體
      privateclass Tag
      {
      //鏈接
      publicstring HRef
      {
      set;
      get;
      }

      //鏈接顯示的內(nèi)容
      publicstring InnerHtml
      {
      set;
      get;
      }

      //樣式
      publicstring CssClass
      {
      set;
      get;
      }

      publicoverridestring ToString()
      {
      if (this.CssClass !=null&&this.CssClass.Trim() !="")
      {
      this.CssClass =string.Format(" class='{0}'", this.CssClass);
      }
      returnstring.Format("<a href='{0}'{1}>{2}</a>", this.HRef, this.CssClass, this.InnerHtml);
      }
      }

      }
      }

        自定義控件注冊(cè):

        在web.config中,節(jié)點(diǎn)<pages> <controls>中加入:

          <add tagPrefix="os" namespace="ObjectCommon.Libary.Component" assembly="ObjectCommon.Libary"/>

      posted @ 2011-08-19 13:28  古文觀芷  閱讀(8383)  評(píng)論(29)    收藏  舉報(bào)
      主站蜘蛛池模板: 在线观看无码av免费不卡网站| 国产精品 无码专区| 日本高清无卡码一区二区| 在线亚洲人成电影网站色www| 亚洲欧美成人综合久久久| 久久亚洲国产精品久久| 国产精品推荐视频一区二区| 亚洲理论电影在线观看| 国产一区二区高清不卡| 中文字幕va一区二区三区| 国产美女白丝袜精品_a不卡| 麻豆国产成人AV在线播放| 真实国产老熟女无套内射| 亚洲丰满熟女一区二区v| 老司机精品影院一区二区三区| 亚洲精品国产av一区二区| 国语精品自产拍在线观看网站| 中文字幕乱码十国产乱码| 国内揄拍国内精品少妇国语| 日韩亚洲视频一区二区三区| 高中女无套中出17p| 又大又紧又粉嫩18p少妇| 日韩美女视频一区二区三区| 国产午夜精品一区二区三区漫画| 亚洲AV成人片不卡无码| 中文字幕亚洲综合久久| 亚洲自拍偷拍中文字幕色| AV老司机色爱区综合| 成人av午夜在线观看| 国产欧美另类久久久精品不卡| 部精品久久久久久久久| av老司机亚洲精品天堂| 亚洲免费成人av一区| 国产极品粉嫩尤物一区二区| 亚洲欧美日韩综合一区在线 | 开心一区二区三区激情| 国产成人精品a视频一区| 国产色无码专区在线观看| 国产精品大全中文字幕| 亚洲一区二区三区在线播放无码| 亚洲中文字幕无码一久久区|