ASP.NET Sayfalama(Pagination) - 2



Form Tarafı

<%@ Page Title="" EnableEventValidation="false" Language="C#" MasterPageFile="~/MainPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="mainhead" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <%-- <body style="background-image:url(http://www.mililanigolf.com/wp-content/uploads/2014/11/grey-background-website-8013.jpg)">--%>
    <body>
    <!--KATEGORİLER-->
        
    <div class="container">
        <div class="row btnkategori">
             <div class="btn-group">

                 <asp:Button ID="Button2" CssClass="btn btn-primary" runat="server" Text="Apple" />
                 <asp:Button ID="Button3" CssClass="btn btn-primary" runat="server" Text="Samsung" />
                 <asp:Button ID="Button4" CssClass="btn btn-primary" runat="server" Text="LG" />
                 <asp:Button ID="Button5" CssClass="btn btn-primary" runat="server" Text="Motorola" />
                 <asp:Button ID="Button6" CssClass="btn btn-primary" runat="server" Text="Lenovo" />
                 <asp:Button ID="Button7" CssClass="btn btn-primary" runat="server" Text="Sony" />
                 <asp:Button ID="Button8" CssClass="btn btn-primary" runat="server" Text="2018" />
                 
  </div>
       
            
        </div>
 

   </div>
    <!--KATEGORİLER END-->

    <div class="container ortala">
        <div class="row aramasatiri">
              <div class="col-md-3">
  <asp:Button CssClass="btn btn-default" ID="btnFirst" runat="server" Text="İlk" OnClick="btnFirst_Click" />               
  <asp:Button CssClass="btn btn-default" ID="cmdPrev" runat="server" Text="Geri" OnClick="cmdPrev_Click"  />
  <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
  <asp:Button CssClass="btn btn-default" ID="cmdNext" runat="server" Text="İleri" OnClick="cmdNext_Click" />
  <asp:Button CssClass="btn btn-default" ID="btnLast" runat="server" Text="Son" OnClick="btnLast_Click" />
              </div>
            
            <div class="col-md-6">
                <asp:TextBox  CssClass="form-control" ID="TextBox1" runat="server" onkeyup="myFunction()"  ></asp:TextBox>
              
        </div>
            <div class="col-md-1 text-left">
                <asp:Button CssClass="btn btn-default right" ID="Button1" runat="server" Text="Ürün Ara" OnClick="Button1_Click" />
                
        </div>
            <div class="col-md-2 pull-right">
                <asp:Button CssClass="btn btn-default" ID="btnUrunListele" runat="server" Text="Liste Görünümü" OnClick="btnUrunListele_Click" />
              </div>
</div>
        
    
        <p><asp:Label ID="sonuclbl" runat="server"></asp:Label></p>
     
    </div>
       
    <div class="container urunbody">
<asp:DataList ID="DataList1" CssClass="defaultanadatalist" runat="server"  RepeatColumns="5">
            <ItemTemplate>
                <div class="kutu">
        <div class="ickutu">
      
            <table class="defaultanadatalist">
                
                <tr>
                    <td><!--//'<%# Eval("FOTO") %>'//ImageUrl="~/images/urunler/5.jpg"-->
                        <asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("CODE") %>' runat="server" OnCommand="LinkButton1_Command"><asp:Image width="200px" height="200px" ID="Image1" runat="server" ImageUrl="~/images/deneme.png" /></asp:LinkButton> 
                    </td>
                </tr>
                
                <tr>
                    <td>
                        <asp:Label ID="CODELabel" runat="server" Text='<%# Eval("CODE") %>' Font-Size="11pt" ForeColor="#FF9933"></asp:Label>
                    </td>
                </tr>
                <tr class="urunadisatiri">
                    <td>
                        <asp:LinkButton ID="LinkButton2" CssClass="urunadi" runat="server" OnCommand="LinkButton1_Command" CommandArgument='<%# Eval("CODE") %>'><%# Eval("NAME") %></asp:LinkButton>
                        <%--<asp:Label  ID="NAMELabel" runat="server" Text='<%# Eval("NAME") %>'></asp:Label>--%>
                        
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="PRICELabel" runat="server" Text='<%# Eval("PRICE") %>' Font-Bold="True" ForeColor="#000" ></asp:Label>
                    </td>
                </tr>

            </table>
       
        </div>

    </div>
                              
            </ItemTemplate>
    <ItemStyle CssClass="dturunler" />
        </asp:DataList>
         
</div>
   <%--       <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:nmdbConnectionString %>" SelectCommand="SELECT * FROM [WSTOK]"></asp:SqlDataSource>
  --%>
           
   </body> 
 </asp:Content>



C# Tarafı

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
   


    string conString = ConfigurationManager.ConnectionStrings["nmdbConnectionString"].ToString();
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            ViewState["vs"] = 0;
            position = (int)ViewState["vs"];
            DataListDoldur();
            SessionKontrol();

        }
        else
        {
            SessionKontrol();
        }

    }
    public int i;
    public string arananyazi;

    public void DataListDoldur()
    {
        if(TextBox1.Text == "")
        {
            arananyazi = "";

        }
        else
        {
            string[] dizi;


            dizi = TextBox1.Text.Split(' ');//boşluk karakteriyle


            if (dizi.Length > 1)
            {
                arananyazi = dizi[0] + "%" + dizi[1];
            }
            else if (dizi.Length > 2)
            {
                arananyazi = dizi[0] + "%" + dizi[1] + "%" + dizi[2];
            }
            else
            {
                arananyazi = dizi[0];
            }


        }


            string connectionString1 = ConfigurationManager.ConnectionStrings["nmdbConnectionString"].ConnectionString;


            SqlConnection connection1 = new SqlConnection(connectionString1);
            SqlCommand command1 = new SqlCommand("SELECT * FROM WSTOK WHERE NAME like'%" + arananyazi + "%'", connection1);

            connection1.Open();

            SqlDataAdapter da = new SqlDataAdapter(command1);
            DataSet ds = new DataSet();
            da.Fill(ds);


            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = ds.Tables[0].DefaultView;
            pds.AllowPaging = true;

            
            pds.CurrentPageIndex = position;
            btnFirst.Enabled = !pds.IsFirstPage;
            cmdPrev.Enabled = !pds.IsFirstPage;
            cmdNext.Enabled = !pds.IsLastPage;
            btnLast.Enabled = !pds.IsLastPage;
            pds.PageSize = 50;
            ViewState["TotalPages"] = pds.PageCount;
            Label1.Text =  (position + 1).ToString() + " of " + pds.PageCount.ToString();
            Label1.ForeColor = System.Drawing.Color.Black;
            DataList1.DataSource = pds;
            //DataList1.DataSource = ds; //Sayfalama Olmasa üstteki yerine bu kullanım yapılıyordu.
            DataList1.DataBind();
            connection1.Close();
            //sonuclbl.Text = DataList1.Items.Count.ToString();

            SessionKontrol();
        
       
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        ViewState["vs"] = 0;
        position = (int)ViewState["vs"];
        DataListDoldur();

    }
    
    
    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {

    }

    int position;

    protected void cmdNext_Click(object sender, EventArgs e)
    {
         position = (int)ViewState["vs"];
            position++;
            ViewState["vs"] = position;
            DataListDoldur();
       
    }
    protected void cmdPrev_Click(object sender, EventArgs e)
    {     
            position = (int)ViewState["vs"];
            position--;
            ViewState["vs"] = position;
            DataListDoldur();
     
    }
    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {

        //if(e.CommandName == "cmdlistele")
        //{
        //    Response.Redirect("urunincele.aspx?id="+e.CommandArgument.ToString());
        //}
    }

    protected void Button1_Command(object sender, CommandEventArgs e)
    {
    //    Response.Redirect("urunincele.aspx?id=" + e.CommandArgument.ToString());
    }



   
    protected void btnUrunListele_Click(object sender, EventArgs e)
    {
        Response.Redirect("urunlistele.aspx");
    }
    protected void LinkButton1_Command(object sender, CommandEventArgs e)
    {
        Response.Redirect("urunincele.aspx?id=" + e.CommandArgument);
    }




    public void SessionKontrol()
    {
        if (Session["madi"] == null)
        {
            foreach (DataListItem item in DataList1.Items)
            {
                Label myTempLabel = (Label)item.FindControl("PRICELabel");
                //myTempLabel.Visible = false;
                myTempLabel.Text = "fiyatlar için giriş yapın";

            }
        }
        else
        {
            foreach (DataListItem item in DataList1.Items)
            {
                Label myTempLabel = (Label)item.FindControl("PRICELabel");
                myTempLabel.Visible = true;
                myTempLabel.ForeColor = System.Drawing.Color.Black;

            }

        }
    }
    protected void btnLast_Click(object sender, EventArgs e)
    {
        position = (Convert.ToInt32(ViewState["TotalPages"]) - 1);
        this.DataListDoldur();
    }
    protected void btnFirst_Click(object sender, EventArgs e)
    {
        position = 0;
        this.DataListDoldur();
    }
}




Hiç yorum yok:

Yorum Gönder