Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Don';不显示分页上的所有页面_C#_Asp.net_Web Applications_Pagination_Paging - Fatal编程技术网

C# Don';不显示分页上的所有页面

C# Don';不显示分页上的所有页面,c#,asp.net,web-applications,pagination,paging,C#,Asp.net,Web Applications,Pagination,Paging,我正在做C#的寻呼工作。我有个问题。列表时显示的页面太多。 我的看法是: 上次>> 我想要这个: 上次>> 看起来大部分工作我都做了,但这部分我没有做 谢谢 我的代码: using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.We

我正在做C#的寻呼工作。我有个问题。列表时显示的页面太多。 我的看法是:

上次>>

我想要这个:

上次>>

看起来大部分工作我都做了,但这部分我没有做

谢谢

我的代码:

using System;
using System.Data;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;


public partial class product_list : System.Web.UI.Page
{
    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;
        }
    }

    protected int PageCount
    {
        get
        {
            // look for current page count in ViewState
            object o = this.ViewState["_PageCount"];
            if (o == null)
                return 1;   // default to just 1 page
            else
                return (int)o;
        }

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


    protected void GetItems()
    {
        string Firma = Session["FirmaID"].ToString();
        string Pryt = "01";
        string GRID = Request.QueryString["GRID"];
        lblBaslik.Text = GRID;
        string SQLGrup = "SQL";
        SqlDataAdapter da = new SqlDataAdapter(SQLGrup, bag.Bagla());
        DataTable dt = new DataTable();
        da.Fill(dt);
        bag.Bagla().Close();
        PagedDataSource pagedData = new PagedDataSource();
        DataView dv = new DataView(dt);

        pagedData.AllowPaging = true;
        pagedData.PageSize = 10;
        pagedData.DataSource = dv;
        pagedData.CurrentPageIndex = CurrentPage;


        lblCurrentPage.Text =  (CurrentPage + 1).ToString() + " / " + pagedData.PageCount.ToString();

        PageCount = pagedData.PageCount;

        // Disable Prev/Next First/Last buttons if necessary
        cmdPrev.Enabled = !pagedData.IsFirstPage;
        cmdFirst.Enabled = !pagedData.IsFirstPage;
        cmdNext.Enabled = !pagedData.IsLastPage;
        cmdLast.Enabled = !pagedData.IsLastPage;



        // Wire up the page numbers
        if (pagedData.PageCount > 1)
        {
            rptPages.Visible = true;
            ArrayList pages = new ArrayList();
            for (int i = 0; i < pagedData.PageCount; i++)
                if (i == CurrentPage)
                {

                    pages.Add("<div style='color:red; font-weight:bold'>" + (i + 1).ToString() + "</div>");
                }
                else
                {
                    pages.Add((i + 1).ToString());
                }
            rptPages.DataSource = pages;
            rptPages.DataBind();
        }
        else
        {
            rptPages.Visible = false;
        }



        rptItems.DataSource = pagedData;
        rptItems.DataBind();
    }

    protected void cmdPrev_Click(object sender, System.EventArgs e)
    {
        // Set viewstate variable to the previous page
        CurrentPage -= 1;

        // Reload control
        GetItems();
    }

    protected void cmdNext_Click(object sender, System.EventArgs e)
    {
        // Set viewstate variable to the next page
        CurrentPage += 1;

        // Reload control
        GetItems();
    }

    protected void cmdFirst_Click(object sender, System.EventArgs e)
    {
        // Set viewstate variable to the first page
        CurrentPage = 0;

        // Reload control
        GetItems();
    }
    protected void cmdLast_Click(object sender, System.EventArgs e)
    {
        // Set viewstate variable to the last page
        CurrentPage = PageCount - 1;

        // Reload control
        GetItems();
    }

    protected void rptPages_ItemCommand(object source,
                             RepeaterCommandEventArgs e)
    {
        CurrentPage = Convert.ToInt32(e.CommandArgument) - 1;
        GetItems();
    }

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

    protected override void OnLoad(EventArgs e)
    {
        if (Session["Kullanici"] == null) Response.Redirect("login.aspx");

        base.OnLoad(e);

        GetItems();
    }

    protected bool CurrentPageHighlight(int currPage)
    {
        return currPage == CurrentPage ? true : false;
    }
}
使用系统;
使用系统数据;
使用系统集合;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.Web.UI.WebControl.WebParts;
使用System.Web.UI.HTMLControl;
使用System.Data.SqlClient;
公共部分类产品列表:System.Web.UI.Page
{
受保护的int当前页
{
得到
{
//在ViewState中查找当前页面
对象o=this.ViewState[“_CurrentPage”];
如果(o==null)
返回0;//默认显示第一页
其他的
返回(int)o;
}
设置
{
this.ViewState[“\u CurrentPage”]=值;
}
}
受保护整型分页计数
{
得到
{
//在ViewState中查找当前页数
对象o=this.ViewState[“_PageCount”];
如果(o==null)
返回1;//默认值仅为1页
其他的
返回(int)o;
}
设置
{
this.ViewState[“_PageCount”]=值;
}
}
受保护的void GetItems()
{
字符串Firma=Session[“FirmaID”].ToString();
字符串Pryt=“01”;
stringgrid=Request.QueryString[“GRID”];
lbaslik.Text=网格;
字符串SQLGrup=“SQL”;
SqlDataAdapter da=newsqldataadapter(SQLGrup,bag.Bagla());
DataTable dt=新的DataTable();
da.填充(dt);
bag.Bagla().Close();
PagedDataSource pagedData=新的PagedDataSource();
数据视图dv=新数据视图(dt);
pagedData.allowpage=true;
pagedData.PageSize=10;
pagedData.DataSource=dv;
pagedData.CurrentPageIndex=CurrentPage;
lblCurrentPage.Text=(CurrentPage+1.ToString()+“/”+pagedData.PageCount.ToString();
PageCount=pagedData.PageCount;
//如有必要,禁用上一个/下一个第一个/最后一个按钮
cmdPrev.Enabled=!pagedData.IsFirstPage;
cmdFirst.Enabled=!pagedData.IsFirstPage;
cmdNext.Enabled=!pagedData.IsLastPage;
cmdLast.Enabled=!pagedData.IsLastPage;
//把页码排好
如果(pagedData.PageCount>1)
{
rptPages.Visible=true;
ArrayList pages=新建ArrayList();
对于(int i=0;i
我的设计准则:

<form runat="server">
<table width="100%" border="0" class="pagination">
   <tr>
      <td style="text-align:center">  <asp:label id="lblCurrentPage" runat="server"></asp:label></td>
   </tr>
   <tr>
      <td> 
<center>
                <div>
                    <div>
                        <asp:Label ID="Label1" runat="server"></asp:Label></div>
                    <div>
                        <table>
                            <tr>
                                <td>
                                    <asp:Button ID="cmdFirst" runat="server" Text="<< First" OnClick="cmdFirst_Click"></asp:Button>&nbsp;
                                </td>
                                <td>
                                    <asp:Button ID="cmdPrev" runat="server" Text="< Prev" OnClick="cmdPrev_Click"></asp:Button>&nbsp;
                                </td>
                                <td>
                                    <asp:Repeater ID="rptPages" runat="server">
                                        <HeaderTemplate>
                                            <table cellpadding="0" cellspacing="0" border="0">
                                                <tr class="text">
                                                    <td>
                                        </HeaderTemplate>
                                        <ItemTemplate>
                                            <asp:LinkButton ID="btnPage" CommandName="Page" CommandArgument="<%# Container.DataItem %>" runat="server"><%# Container.DataItem %>
                                            </asp:LinkButton>&nbsp;
                                        </ItemTemplate>
                                        <FooterTemplate>
                                            </td> </tr> </table>
                                        </FooterTemplate>
                                    </asp:Repeater>
                                </td>
                                <td>
                                    &nbsp;<asp:Button ID="cmdNext" runat="server" Text="Next>" OnClick="cmdNext_Click">
                                    </asp:Button>
                                </td>
                                <td>
                                    &nbsp;<asp:Button ID="cmdLast" runat="server" Text="Last>>" OnClick="cmdLast_Click">
                                    </asp:Button>
                                </td>
                            </tr>
                        </table>
                    </div>
                    &nbsp;</div>
            </center>      </td>
   </tr>
    <tr>
        <td>


  <div class="flex">
     <asp:Repeater ID="rptItems" runat="server">
          <HeaderTemplate>
          </HeaderTemplate>
        <ItemTemplate>
            <section>
              <img src="data:image/png;base64,<%# Eval("PIC")%>" />
              <h2><%#Eval("CODE") %></h2>
              <p><%#Eval("NAME") %></p>
              <aside>
                <ul>
                  <li>Fiyat: <%#Eval("PRICE") %> <%#Eval("UNIT") %></li>
                  <li><%#Eval("AMOUNT") %> <%#Eval("UNIT2") %></li>
                </ul>
                <button>ADD BASKET</button>
              </aside>
            </section>
        </ItemTemplate>
      </asp:Repeater>
  </div>
</form>