DataList编辑、更新、取消、删除、分页

本文介绍了一个使用ASP.NET DataList实现数据展示、编辑、更新、删除及分页功能的例子。通过内置事件处理数据操作,并利用AspNetPager进行分页显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值