html代码: <% ... @ Page Language="C#" AutoEventWireup="true" CodeFile="DataList_DeleteUpdate1.aspx.cs" Inherits="DataList_DataList_DeleteUpdate1" %> <% ... @ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" > < head runat ="server" > < title > DataList编辑、更新、取消、删除、分页 </ title > </ head > < body > < form id ="form1" runat ="server" > < div > < table width ="100%" border ="0" cellpadding ="0" cellspacing ="0" > < tr > < td > < asp:DataList ID ="DataList1" runat ="server" Font-Size ="12px" Width ="100%" DataKeyField ="ProductID" OnCancelCommand ="DataList1_CancelCommand" OnDeleteCommand ="DataList1_DeleteCommand" OnEditCommand ="DataList1_EditCommand" OnUpdateCommand ="DataList1_UpdateCommand" > < HeaderTemplate > < td > au_id </ td > < td > au_lname </ td > < td > au_fname </ td > < td > phone </ td > < td > address </ td > < td > 编辑 </ td > < td > 删除 </ td > </ HeaderTemplate > < ItemTemplate > < td > < asp:Label ID ="Lbl_au_id" Text ='<%#Eval("au_id")% > ' runat="server"> </ asp:Label > </ td > < td > < asp:Label ID ="Lbl_au_lname" Text ='<%#Eval("au_lname")% > ' runat="server"> </ asp:Label > </ td > < td > < asp:Label ID ="Lbl_au_fname" Text ='<%#Eval("au_fname")% > ' runat="server"> </ asp:Label > </ td > < td > < asp:Label ID ="Lbl_phone" Text ='<%#Eval("phone")% > ' runat="server"> </ asp:Label > </ td > < td > < asp:Label ID ="Lbl_address" Text ='<%#Eval("address")% > ' runat="server"> </ asp:Label > </ td > < td > < asp:LinkButton ID ="LinkButton1" Text ="编辑" CommandName ="Edit" runat ="server" ></ asp:LinkButton > </ td > < td > < asp:LinkButton ID ="LinkButton3" Text ="删除" CommandName ="Delete" runat ="server" ></ asp:LinkButton > </ td > </ ItemTemplate > < EditItemTemplate > < td > < asp:Label ID ="Lbl_au_id" Text ='<%#Eval("au_id")% > ' runat="server"> </ asp:Label > </ td > < td > < asp:TextBox ID ="Txt_au_lname" Text ='<%#Eval("au_lname")% > ' runat="server"> </ asp:TextBox > </ td > < td > < asp:TextBox ID ="Txt_au_fname" Text ='<%#Eval("au_fname")% > ' runat="server"> </ asp:TextBox > </ td > < td > < asp:TextBox ID ="Txt_phone" Text ='<%#Eval("phone")% > ' runat="server"> </ asp:TextBox > </ td > < td > < asp:TextBox ID ="Txt_address" Text ='<%#Eval("address")% > ' runat="server"> </ asp:TextBox > </ td > < td > < asp:LinkButton ID ="LinkButton1" Text ="更新" CommandName ="Update" runat ="server" ></ asp:LinkButton > < asp:LinkButton ID ="LinkButton2" Text ="取消" CommandName ="Cancel" runat ="server" ></ asp:LinkButton > </ td > < td > < asp:LinkButton ID ="LinkButton3" Text ="删除" CommandName ="Delete" runat ="server" ></ asp:LinkButton > </ td > </ EditItemTemplate > < FooterTemplate > </ FooterTemplate > </ asp:DataList > </ td > </ tr > < tr > < td align ="center" > < webdiyer:AspNetPager ID ="pager1" runat ="server" Font-Size ="12px" ShowCustomInfoSection ="Left" OnPageChanged ="ChangePage" ShowInputBox ="Always" CustomInfoSectionWidth ="80%" SubmitButtonText ="go" > </ webdiyer:AspNetPager > </ td > </ tr > </ table > </ div > </ form > </ body > </ html > cs代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Wuqi.Webdiyer; public partial class DataList_DataList_DeleteUpdate1 : System.Web.UI.Page ... { public string tblName = "authors";//表名 public string fldName = "au_id";//主键字段名 public int IsReCount = 1;//是否 public int OrderType = 0;//排序 0升,非0降 public string strWhere = "";//条件 Practice.DAL.authors authorsbll = new Practice.DAL.authors(); protected void Page_Load(object sender, EventArgs e) ...{ if (!IsPostBack) ...{ pager1.CurrentPageIndex = 1;//页数 pager1.PageSize = 5;//每页多少条 pager1.RecordCount = Convert.ToInt32(GetDataSet().Tables[1].Rows[0][0].ToString());//共多少条 DataBindGridView(); } } //返回dataSet private DataSet GetDataSet() ...{ DataSet ds = authorsbll.Minutepage(tblName, fldName, pager1.PageSize, pager1.CurrentPageIndex, IsReCount, OrderType, strWhere); return ds; } //绑定GridView private void DataBindGridView() ...{ DataList1.DataSource = GetDataSet().Tables[0]; DataList1.DataKeyField = fldName; DataList1.DataBind(); //显示记录信息 pager1.CustomInfoText = "记录总数:<b>" + pager1.RecordCount.ToString() + "</b>"; pager1.CustomInfoText += " 总页数:<b>" + pager1.PageCount.ToString() + "</b>"; pager1.CustomInfoText += " 当前页:<font color="red"><b>" + pager1.CurrentPageIndex.ToString() + "</b></font>"; } //DataList编辑 protected void DataList1_EditCommand(object source, DataListCommandEventArgs e) ...{ DataList1.EditItemIndex = e.Item.ItemIndex; DataBindGridView(); } //DataList取消 protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e) ...{ DataList1.EditItemIndex = -1; DataBindGridView(); } //DataList更新 protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e) ...{ string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString(); string au_lname = ((TextBox)e.Item.FindControl("Txt_au_lname")).Text.Trim(); Response.Write("更新时:<br/>au_id: " + au_id + "<br/>au_lname: " + au_lname); DataList1.EditItemIndex = -1; DataBindGridView(); } //DataList删除 protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e) ...{ string au_id = DataList1.DataKeys[e.Item.ItemIndex].ToString(); string au_lname = ((Label)e.Item.FindControl("Lbl_au_lname")).Text.Trim(); Response.Write("删除时:<br/>au_id: " + au_id + "<br/>au_lname: " + au_lname); DataBindGridView(); } //分页 protected void ChangePage(object src, PageChangedEventArgs e) ...{ pager1.CurrentPageIndex = e.NewPageIndex; DataBindGridView(); } } 分页函数: /**/ //// <summary> /// </summary> /// <param name="tblName">表名</param> /// <param name="fldName">主键字段名</param> /// <param name="PageSize">页尺寸</param> /// <param name="PageIndex">页码</param> /// <param name="IsReCount">返回记录总数, 非 0 值则返回</param> /// <param name="OrderType">设置排序类型, 非 0 值则降序</param> /// <param name="strWhere">查询条件 (注意: 不要加 where)</param> /// <returns>ds</returns> public DataSet Minutepage( string tblName, string fldName, int PageSize, int PageIndex, int IsReCount, int OrderType, string strWhere) ... { SqlParameter[] parameters = ...{ new SqlParameter("@tblName", SqlDbType.VarChar,255), new SqlParameter("@fldName",SqlDbType.VarChar,255), new SqlParameter("@PageSize", SqlDbType.Int), new SqlParameter("@PageIndex", SqlDbType.Int), new SqlParameter("@IsReCount",SqlDbType.Bit), new SqlParameter("@OrderType",SqlDbType.Bit), new SqlParameter("@strWhere",SqlDbType.VarChar,1000) }; parameters[0].Value = tblName; parameters[1].Value = fldName; parameters[2].Value = PageSize; parameters[3].Value = PageIndex; parameters[4].Value = IsReCount; parameters[5].Value = OrderType; parameters[6].Value = strWhere; return DbHelperSQL.RunProcedure("PR_MinutePage", parameters, "ds"); }