aspx文件中关于DataList的代码:
<asp:DataList ID="lbDatalist" runat="server" RepeatColumns="2" RepeatDirection="Horizontal"
SkinID="foo" OnItemCommand="lbDatalist_ItemCommand"> //红色部分在mojoportal中使用有效果
<ItemTemplate>
<table>
<tr>
<td>
<%# Eval("lblc")%>
</td>
<td>
<asp:LinkButton ID="Datalist_Delete" runat="server" CommandName="Delete" CausesValidation="False"
Text="删除" CssClass="delete-link" CommandArgument='<%# DataBinder.Eval
(Container.DataItem,"Id") %>'></asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
aspx.cs文件中关于datalist实现“删除”功能的部分:
//当然了,以下的三种实现“删除”的方法只能用一个喽!!
//在datalist中实现“删除”功能方法一:
//在页面的“设计”模式下,选中datalist,在右侧“属性”--"事件"
//中双击右侧的空白处,自动生成一个空的方法,然后自己实现删除功能
//(在<asp:DataList></asp:DataList>标签中会自动在生成一句话:
// ondeletecommand="lbDatalist_DeleteCommand")
protected void lbDatalist_DeleteCommand(object source, DataListCommandEventArgs e)
{
decimal id = Convert.ToDecimal(e.CommandArgument);//获取要删除的id?是datalist的行的id还是数据的id?
***********此处补充代码,实现“删除”**********
//再绑定下
***********此处补充代码,再次绑定,以看到删除后的效果**********
}
//在datalist中实现“删除”功能方法二:
//在页面的“源”模式下,在<asp:LinkButton></asp:LinkButton>中加上下面的命令:
// OnCommand="delete"(特别注意:两个“delete”一定要相同,c#中是区分大小写的)
//在cs代码中加上如下的方法:
protected void delete(object sender, CommandEventArgs e)
{
decimal id = Convert.ToDecimal(e.CommandArgument);//获取要删除的id?是datalist的行的id还是数据的id?
***********此处补充代码,实现“删除”**********
//再绑定下
***********此处补充代码,再次绑定,以看到删除后的效果**********
}
//在datalist中实现“删除”功能方法三:
//在页面的“源”模式下,在<asp:DataList></asp:DataList>中加上下面的命令:
// OnItemCommand="lbDatalist_ItemCommand"
//(注:不需要在<asp:LinkButton></asp:LinkButton>中加上 OnCommand="delete" 命令)
//在cs代码中加上如下的方法:
protected void lbDatalist_ItemCommand(object source, DataListCommandEventArgs e)
{
decimal id = Convert.ToDecimal(e.CommandArgument);
***********此处补充代码,以获取要删除的实体**********
if (e.CommandName == "Delete")
{
***********此处补充代码,实现“删除”********** }
//再绑定下
***********此处补充代码,再次绑定,以看到删除后的效果**********
}