html代码:

<%...@PageLanguage="C#"AutoEventWireup="true"CodeFile="DataList_DeleteUpdate1.aspx.cs"
Inherits="DataList_DataList_DeleteUpdate1"%>

<%...@RegisterAssembly="AspNetPager"Namespace="Wuqi.Webdiyer"TagPrefix="webdiyer"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>DataList编辑、更新、取消、删除、分页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0">
<tr>
<td>
<asp:DataListID="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:LabelID="Lbl_au_id"Text='<%#Eval("au_id")%>'runat="server"></asp:Label>
</td>
<td>
<asp:LabelID="Lbl_au_lname"Text='<%#Eval("au_lname")%>'runat="server"></asp:Label>
</td>
<td>
<asp:LabelID="Lbl_au_fname"Text='<%#Eval("au_fname")%>'runat="server"></asp:Label>
</td>
<td>
<asp:LabelID="Lbl_phone"Text='<%#Eval("phone")%>'runat="server"></asp:Label>
</td>
<td>
<asp:LabelID="Lbl_address"Text='<%#Eval("address")%>'runat="server"></asp:Label>
</td>
<td>
<asp:LinkButtonID="LinkButton1"Text="编辑"CommandName="Edit"runat="server"></asp:LinkButton>
</td>
<td>
<asp:LinkButtonID="LinkButton3"Text="删除"CommandName="Delete"runat="server"></asp:LinkButton>
</td>
</ItemTemplate>
<EditItemTemplate>
<td>
<asp:LabelID="Lbl_au_id"Text='<%#Eval("au_id")%>'runat="server"></asp:Label>
</td>
<td>
<asp:TextBoxID="Txt_au_lname"Text='<%#Eval("au_lname")%>'runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBoxID="Txt_au_fname"Text='<%#Eval("au_fname")%>'runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBoxID="Txt_phone"Text='<%#Eval("phone")%>'runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBoxID="Txt_address"Text='<%#Eval("address")%>'runat="server"></asp:TextBox>
</td>
<td>
<asp:LinkButtonID="LinkButton1"Text="更新"CommandName="Update"runat="server"></asp:LinkButton>
<asp:LinkButtonID="LinkButton2"Text="取消"CommandName="Cancel"runat="server"></asp:LinkButton>
</td>
<td>
<asp:LinkButtonID="LinkButton3"Text="删除"CommandName="Delete"runat="server"></asp:LinkButton>
</td>
</EditItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:DataList>
</td>
</tr>
<tr>
<tdalign="center">
<webdiyer:AspNetPagerID="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代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingWuqi.Webdiyer;
publicpartialclassDataList_DataList_DeleteUpdate1:System.Web.UI.Page
...{
publicstringtblName="authors";//表名
publicstringfldName="au_id";//主键字段名
publicintIsReCount=1;//是否
publicintOrderType=0;//排序0升,非0降
publicstringstrWhere="";//条件
Practice.DAL.authorsauthorsbll=newPractice.DAL.authors();
protectedvoidPage_Load(objectsender,EventArgse)
...{
if(!IsPostBack)
...{
pager1.CurrentPageIndex=1;//页数
pager1.PageSize=5;//每页多少条
pager1.RecordCount=Convert.ToInt32(GetDataSet().Tables[1].Rows[0][0].ToString());//共多少条
DataBindGridView();
}
}
//返回dataSet
privateDataSetGetDataSet()
...{
DataSetds=authorsbll.Minutepage(tblName,fldName,pager1.PageSize,pager1.CurrentPageIndex,IsReCount,OrderType,strWhere);
returnds;
}
//绑定GridView
privatevoidDataBindGridView()
...{
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+="当前页:<fontcolor="red"><b>"+pager1.CurrentPageIndex.ToString()+"</b></font>";
}
//DataList编辑
protectedvoidDataList1_EditCommand(objectsource,DataListCommandEventArgse)
...{
DataList1.EditItemIndex=e.Item.ItemIndex;
DataBindGridView();
}
//DataList取消
protectedvoidDataList1_CancelCommand(objectsource,DataListCommandEventArgse)
...{
DataList1.EditItemIndex=-1;
DataBindGridView();
}
//DataList更新
protectedvoidDataList1_UpdateCommand(objectsource,DataListCommandEventArgse)
...{
stringau_id=DataList1.DataKeys[e.Item.ItemIndex].ToString();
stringau_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删除
protectedvoidDataList1_DeleteCommand(objectsource,DataListCommandEventArgse)
...{
stringau_id=DataList1.DataKeys[e.Item.ItemIndex].ToString();
stringau_lname=((Label)e.Item.FindControl("Lbl_au_lname")).Text.Trim();
Response.Write("删除时:<br/>au_id:"+au_id+"<br/>au_lname:"+au_lname);
DataBindGridView();
}
//分页
protectedvoidChangePage(objectsrc,PageChangedEventArgse)
...{
pager1.CurrentPageIndex=e.NewPageIndex;
DataBindGridView();
}
}
分页函数:

/**/////<summary>
///</summary>
///<paramname="tblName">表名</param>
///<paramname="fldName">主键字段名</param>
///<paramname="PageSize">页尺寸</param>
///<paramname="PageIndex">页码</param>
///<paramname="IsReCount">返回记录总数,非0值则返回</param>
///<paramname="OrderType">设置排序类型,非0值则降序</param>
///<paramname="strWhere">查询条件(注意:不要加where)</param>
///<returns>ds</returns>
publicDataSetMinutepage(stringtblName,stringfldName,intPageSize,intPageIndex,intIsReCount,intOrderType,stringstrWhere)
...{
SqlParameter[]parameters=...{
newSqlParameter("@tblName",SqlDbType.VarChar,255),
newSqlParameter("@fldName",SqlDbType.VarChar,255),
newSqlParameter("@PageSize",SqlDbType.Int),
newSqlParameter("@PageIndex",SqlDbType.Int),
newSqlParameter("@IsReCount",SqlDbType.Bit),
newSqlParameter("@OrderType",SqlDbType.Bit),
newSqlParameter("@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;
returnDbHelperSQL.RunProcedure("PR_MinutePage",parameters,"ds");
}
本文介绍了一个使用ASP.NET DataList实现数据展示、编辑、更新、删除及分页功能的例子。通过内置事件处理数据操作,并利用AspNetPager进行分页显示。

被折叠的 条评论
为什么被折叠?



