Pagination 如何突出显示PagedDataSource中的页码以对中继器进行分页

Pagination 如何突出显示PagedDataSource中的页码以对中继器进行分页,pagination,repeater,linkbutton,Pagination,Repeater,Linkbutton,我正在使用PagedDataSource对Repeater进行分页,它工作得很好,但有没有办法突出显示选定的页码或将其加粗。我尝试了css、itemcommand和click事件,但没有运气 提前谢谢 中继器: <asp:Repeater ID="repeaterPager" runat="server" OnItemCommand="repeaterPager_ItemCommand"> <ItemTemplate> <asp:Link

我正在使用PagedDataSource对Repeater进行分页,它工作得很好,但有没有办法突出显示选定的页码或将其加粗。我尝试了css、itemcommand和click事件,但没有运气

提前谢谢

中继器:

<asp:Repeater ID="repeaterPager" runat="server" OnItemCommand="repeaterPager_ItemCommand">
      <ItemTemplate>
        <asp:LinkButton  CssClass="sayfaNo" ID="btnPage" CommandName="Page" CommandArgument="<%#Container.DataItem %>" runat="server">
<%# Container.DataItem %></asp:LinkButton>
      </ItemTemplate>
    </asp:Repeater>

代码隐藏:

  private void MakeleleriGetir()
        {
          SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString);
          SqlDataAdapter da = new SqlDataAdapter("SELECT p.PostID,p.Title,p.DateTime,p.PostShort,p.CategoryID,i.SmallFileName,c.CategoryName From Posts as p inner join Resimler as i ON p.PostID = i.PostID inner join Categories as c On p.CategoryID = c.CategoryID", cnn);

          DataTable dt = new DataTable();
          da.Fill(dt);

          PagedDataSource pds = new PagedDataSource();
          pds.DataSource = dt.DefaultView;
          pds.AllowPaging = true;
          pds.PageSize = 4;
          pds.CurrentPageIndex = CurrentPage;

          PageCount = pds.PageCount;

          btnPrevious.Enabled = !pds.IsFirstPage;
          btnNext.Enabled = !pds.IsLastPage;

          if (pds.PageCount > 1)
          {
            repeaterPager.Visible = true;
            ArrayList pages = new ArrayList();
            for (int i = 0; i < pds.PageCount; i++)
            {
              {
                pages.Add((i + 1).ToString());

              }
            }

            repeaterPager.DataSource = pages;
            repeaterPager.DataBind();
          }
          else
          {
            repeaterPager.Visible = false;

          }
          RepeaterPosts.DataSource = pds;
          RepeaterPosts.DataBind();
        }
 protected int CurrentPage
    {
      get
      { // look for current page in ViewState

        object o = this.ViewState["_CurrentPage"];

        if (o == null)
        {
          return 0;   // default to showing the first page
        }

        else
        {
          return (int)o;
        }

      }

      set
      {
        this.ViewState["_CurrentPage"] = value;
      }
    }

    public int PageCount
    {
      get
      {
        if (ViewState["_PageCount"] != null)
          return Convert.ToInt32(ViewState["_PageCount"]);
        else
          return 0;
      }
      set
      {
        ViewState["_PageCount"] = value;
      }

    }

    protected override void OnInit(EventArgs e)
    {
      base.OnInit(e);
      repeaterPager.ItemCommand += new RepeaterCommandEventHandler(repeaterPager_ItemCommand);
    }


    protected void repeaterPager_ItemCommand(object source, RepeaterCommandEventArgs e)
    {

      CurrentPage = Convert.ToInt32(e.CommandArgument) - 1;
      MakeleleriGetir();

    }

    protected override void OnLoad(EventArgs e)
    {
      base.OnLoad(e);

      MakeleleriGetir();
    }

    protected void btnNext_Click(object sender, EventArgs e)
    {
      CurrentPage += 1;
      MakeleleriGetir();
    }

    protected void btnPrevious_Click(object sender, EventArgs e)
    {
      CurrentPage -= 1;
      MakeleleriGetir();
    }

  }
}
private void MakeleleriGetir()
{
SqlConnection cnn=新的SqlConnection(ConfigurationManager.ConnectionString[0].ConnectionString);
SqlDataAdapter da=new SqlDataAdapter(“选择p.PostID、p.Title、p.DateTime、p.PostShort、p.CategoryID、i.SmallFileName、c.CategoryName作为p内部连接的帖子作为p.PostID=i.PostID上的i的帖子作为p.CategoryID=c.CategoryID上的c的内部连接类别”,cnn);
DataTable dt=新的DataTable();
da.填充(dt);
PagedDataSource pds=新的PagedDataSource();
pds.DataSource=dt.DefaultView;
pds.allowpage=true;
pds.PageSize=4;
pds.CurrentPageIndex=CurrentPage;
PageCount=pds.PageCount;
btnprevous.Enabled=!pds.IsFirstPage;
btnNext.Enabled=!pds.IsLastPage;
如果(pds.PageCount>1)
{
repeaterpage.Visible=true;
ArrayList pages=新建ArrayList();
对于(int i=0;i
逻辑: 使用ItemDataBound事件并将currentpage与btnPage的当前值进行比较。您可以使用FindControl获取当前btnPage值

希望有帮助

 protected void repeaterPager_ItemDataBound(object sender, RepeaterItemEventArgs e)
{

    //Enabled False for current selected Page index
    LinkButton lnkPage = (LinkButton)e.Item.FindControl("btnPage");
    if (lnkPage.CommandArgument.ToString() == (CurrentPage+1).ToString())
    {
        lnkPage.Enabled = false;
        lnkPage.BackColor = System.Drawing.Color.FromName("#FFCC01");
    }

}