dataList 提供相关的编辑模板,但和DataGrid不一样的是,DataList没有编辑按钮。要在DataList中使用编辑功能,可在项模板中增加一个按 钮,Linkbutton和Button都可以。在CommandName中设置为Edit就可以把此按钮和DataList的编辑事件联系起来了。
下面以删除为例:
<asp:DataList ID="dlTuPian" runat="server" Width="531px" RepeatColumns="3" DataKeyField="TPID"
ondeletecommand="dlTuPian_DeleteCommand">
<ItemTemplate>
<div align="center">
<table width="140" height="142" cellspacing="1" cellpadding="2" border="0">
<tbody>
<tr>
<td align="center">
<%#Eval("TPName") %>
</td>
</tr>
<tr>
<td align="center" background="images/136.jpg" style="height:140px; width:140px;">
<img src="<%#Eval("TPLJ")%>" style="width: 100px; height: 100px; border:0px;"/> </a>
</td>
</tr>
<tr>
<td align="center">
<asp:Button ID="btnDelete" CommandName="delete" runat="server" text="删除" />
</td>
</tr>
</tbody>
</table>
</div>
</ItemTemplate>
</asp:DataList>
其中 DataKeyField需要和主键绑定
后台:
protected void dlTuPian_DeleteCommand(object source, DataListCommandEventArgs e)
{
string id = dlTuPian.DataKeys[e.Item.ItemIndex].ToString();
下面就可以根据id删除数据库中的数据了
}
<asp:Button ID="btnDelete" CommandName="delete" runat="server" text="删除" />对button不需要激活,设置
CommandName="delete" 就行啦,这样就把Button与datalist联系上了