`

datalist page

    博客分类:
  • C#
 
阅读更多

<div style="margin:auto">
        current page: <asp:Label ID="lbCurrent" runat="server"></asp:Label>
        <br />
        Total pages: <asp:Label ID="lbTotal" runat="server"></asp:Label>
        <asp:DataList ID="dlProduct" runat="server" OnItemCommand="dlProduct_ItemCommand">
            <ItemTemplate>
                <%#Eval("Pname") %>
                <br />
                <%#Eval("Pcolor") %>
                <br />
                <%#Eval("Pnewprice") %>
                <br />
                <%#Eval("Pcontent") %>
                <br />
                <asp:Button ID="btnDelectProduct" runat="server" Text="Delete"
                CommandName="delete" CommandArgument='<%#Eval("Pid") %>' />
                <br />
                <br />
            </ItemTemplate>
            <SelectedItemTemplate>
                <%#Eval("Pname") %>
                <br />
                <%#Eval("Pcolor") %>
                <br />
                <%#Eval("Pnewprice") %>
                <br />
                <%#Eval("Pcontent") %>
                <br />
                <asp:Button ID="btnDelectProduct" runat="server" Text="Delete"
                CommandName="delete" CommandArgument='<%#Eval("Pid") %>' />
                <br />
                <img alt="." height="100" src="Image/M.jpg"/>
            </SelectedItemTemplate>
        </asp:DataList>
        <br />
        <asp:LinkButton ID="lbPrevious" runat="server" OnCommand="IndexChange" CommandArgument="previous"><</asp:LinkButton>
        &nbsp;&nbsp;
        <asp:LinkButton ID="lbNext" runat="server" OnCommand="IndexChange" CommandArgument="next">></asp:LinkButton>
    </div>

public partial class dlPage : System.Web.UI.Page
    {
        DataSet ds;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["pageindex"] = "0";
                BindData();
            }
        }

        protected void PrepareData()
        {
            SqlConnection conn = ProjectDal.GetConnection();
            conn.Open();
            string sql = "select * from Tb_product";
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            ds = new DataSet();
            da.Fill(ds);
            conn.Close();
        }

        protected void BindData()
        {
            PrepareData();
            DataTable dt = ds.Tables[0];
            if (dt != null && dt.Rows.Count > 0)
            {
                DataView dv = dt.DefaultView;
                PagedDataSource pds = new PagedDataSource();
                pds.DataSource = dv;
                pds.AllowPaging = true;
                pds.PageSize = 3;
                pds.CurrentPageIndex = int.Parse(ViewState["pageindex"].ToString());
                if (!pds.IsFirstPage)
                {
                    lbPrevious.Visible = true;
                }
                else
                {
                    lbPrevious.Visible = false;
                }

                if (!pds.IsLastPage)
                {
                    lbNext.Visible = true;
                }
                else
                {
                    lbNext.Visible = false;
                }
                dlProduct.DataSource = pds;
                dlProduct.DataBind();
                lbCurrent.Text = (pds.CurrentPageIndex + 1).ToString();
                lbTotal.Text = pds.PageCount.ToString();
            }
        }

        protected void IndexChange(object sender, CommandEventArgs e)
        {
            string cmd = ((LinkButton)sender).CommandArgument.ToString();
            int pageindex = int.Parse(ViewState["pageindex"].ToString());
            if (cmd == "previous")
            {
                pageindex += -1;
            }
            else if (cmd == "next")
            {
                pageindex += 1;
            }
            ViewState["pageindex"] = pageindex;
            BindData();
        }

        protected void dlProduct_ItemCommand(object sender, DataListCommandEventArgs e)
        {
            //Int64 pid = Convert.ToInt64(e);
            //string sqlDeleteProduct = "delete from Tb_product where Pid=" + pid;
            string cmd = e.CommandName;
            Int64 pid = Convert.ToInt64(e.CommandArgument);
            if (cmd == "delete")
            {
                this.ClientScript.RegisterStartupScript(GetType(),"","<script>alert('"+pid.ToString()+"')</script>");    
            }
        }
    }
}

分享到:
评论

相关推荐

    datalist 中嵌套datalist

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindList(); } } public void Command_select(object sender, DataListCommandEventArgs e) { string command = ((LinkButton)e....

    DataList排序和分页

    在.NET框架中,DataList控件是一个常用的Web控件,用于显示数据集合,例如数据库查询结果。本资源主要探讨如何实现DataList控件的排序和分页功能,这对于提升用户体验和优化网页性能至关重要。下面我们将深入讲解这...

    DataList代码示例

    在.NET框架中,DataList控件是一个非常实用的Web服务器控件,用于显示和操作数据集合,例如数据库查询结果。本篇文章将深入探讨DataList的基本用法,包括编辑、删除、添加、更新和取消操作,以及如何利用...

    datalist和gridview用法源码

    这通常在代码-behind文件中完成,如 `Page_Load` 事件处理程序中,使用 `DataList1.DataSource = myDataSource;` 设置数据源,然后调用 `DataList1.DataBind();` 进行绑定。 2. **定义模板**:`DataList` 使用模板...

    在DataList里编辑和删除数据

    在DataList里编辑和删除数据 在 ASP.NET 中,DataList 控件是一个强大的控件,用于显示和编辑数据。在本篇文章中,我们将探讨如何在 DataList 中编辑和删除数据。 标题:在 DataList 里编辑和删除数据 描述:在 ...

    datalist分页技术及实现

    2. 分页参数:在请求数据时,需要传递分页参数,包括当前页码(Page Number)和每页显示的数据量(Page Size)。这些参数可以根据用户的操作动态调整。 3. 计算总页数:根据数据总量和每页显示的数量,计算出总的...

    DataList控件详解

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataList1.DataSource = GetData(); DataList1.DataBind(); } } ``` 或者在控件属性中直接指定数据源: ```xml &lt;asp:DataList ...

    asp网页使用datalist控件代码

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 连接数据库,执行查询并填充数据 var dataSet = GetDataFromDB(); datalist1.DataSource = dataSet.Tables[0]; datalist1....

    asp.net datalist 数据库绑定与分页

    ASP.NET中的DataList控件是Web Forms中一种强大的数据展示工具,它允许开发者灵活地呈现数据集合,并且支持多种布局和交互方式。本教程将深入探讨如何在ASP.NET中使用DataList进行数据库绑定以及实现分页功能。 ...

    DataList分页(新).txt

    ### DataList 分页知识点 #### 一、DataList控件简介 DataList 是 ASP.NET 提供的一个用于数据绑定的服务器控件,它允许开发者自定义布局格式,支持重复项模板和交替项模板,并且可以方便地对数据进行排序、分页等...

    DataList分页技巧方法

    在页面加载时,可以使用Request.QueryString["Page"]参数来获取当前页的索引,并将其设置到PagedDataSource对象的CurrentPageIndex属性中。同时,可以使用PagedDataSource对象的IsFirstPage和IsLastPage属性来判断...

    DataList中如何响应DropDownList的SelectedIndexChanged事件

    在ASP.NET Web Forms开发中,`DataList`控件常用于显示数据集合,而`DropDownList`则常常作为用户交互的下拉选择项。当用户在`DropDownList`中选择不同的选项时,我们通常需要捕获`SelectedIndexChanged`事件来执行...

    asp.net里的DataList分页

    在`Page_Load`事件处理程序中,使用`DataList.DataSource = yourDataSource;`将数据源绑定到DataList,并调用`DataList.DataBind();`来绘制控件。 3. **启用分页**:为了启用分页,需要设置DataList的`AllowPaging`...

    Asp.net中的DataList应用

    protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 假设 SaleList 是包含商品信息的数据源 List&lt;Product&gt; productList = GetProducts(); SaleList.DataSource = productList; ...

    c# DATALIST显示数据库信息.rar

    在这个案例中,"c# DATALIST显示数据库信息.rar"显然涉及使用C#编程语言和DataList控件来从数据库检索并展示数据。DataList是ASP.NET Web Forms中的一种服务器端控件,它允许开发者以灵活的方式呈现数据,比如表格或...

    自定义用户控件、DataList、分页

    例如,可以添加PageSize、TotalItems、CurrentPage等属性,以及BindData和ChangePage等方法。 2. 数据绑定:在自定义用户控件中,使用DataList控件,并在代码-behind中实现BindData方法。这个方法通常会根据...

    在ASP.NET中使用DataList控件.rar

    4. 绑定数据:在Page_Load事件中,调用DataList的DataSource属性设置数据源,并调用DataBind()方法进行绑定。 5. 处理事件:根据需要,添加事件处理程序以响应用户操作。 高级用法: 1. 分页:虽然DataList自身不...

    DataList+MySql+AspNetPager分页

    在`Page_Load`事件中,首先检查是否为回发请求,如果不是,则执行初始化操作:计算记录总数、设置AspNetPager的`RecordCount`属性,并调用`bindDL`方法绑定数据。`bindDL`方法中,根据当前的页面大小和AspNetPager的...

    网上购物车模型,提供DataList和DataGrideView的详细用法

    同时,要关注数据绑定的时机,通常在Page_Load事件中处理,但为了防止重复绑定,我们需要检查IsPostBack属性。 总结来说,DataList和DataGridVIew是ASP.NET开发中不可或缺的数据展示工具。DataList更适合需要定制化...

    地址栏传值,DataList修改,GridView修改

    在ASP.NET中,可以将值附加到URL的查询字符串部分,如`http://example.com/page.aspx?id=123`,然后在服务器端的代码中通过Request.QueryString["id"]获取这个值。这种方法简单直观,但需要注意的是,由于URL可见,...

Global site tag (gtag.js) - Google Analytics