全部博文(64)
分类:
2010-03-10 21:22:52
删除可以归纳为两种方法实现,一种就是嵌套复选框,另一种则是嵌套linkButton之类的按钮或超链接来实现。
1、首先介绍嵌套LinkbButton的方法:
以下是页面文件:
<%--编码 --%>
标题
代码
<%--左极键值
右极键值 --%>
上级目录
<%--创建时间
更改时间 --%>
当前状态
操作
<%----%> --%>
<%--
<%--
--%>
<%--
--%>
修改
<%--删除--%>
同样DataKeyField="AREID" ,ARRID必须是主键
后代码文件就必须写在DataList1_ItemCommand事件中了
忽略其中不必要的逻辑。
代码如下:
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.Item.ItemIndex != -1 && e.CommandName == "Del")
{
int id = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());
//判断此列能否删除
if (Area_BLL.GetIsRoot(id) == false)
{
if (Area_BLL.Create_AreaDelete(id) > 0)
{
ScriptHelper.Alert_Redirect(HttpContext.Current, "删除成功!", "/Common/Area.aspx");
return;
}
else
{
ScriptHelper.Alert_Redirect(HttpContext.Current, "删除失败!", "/Common/Area.aspx");
return;
}
}
else
{
ScriptHelper.Alert_Redirect(HttpContext.Current, "此目录不允许删除!", "/Common/Area.aspx");
return;
}
}
}
以上是第一种删除的方法
2、页面文件见上面,本文中的复选框是html控件,用FindControl的方法是找不到的,假如要使用此方法,复选框必须为服务器控件。此案例中可以用post方法提交,提交到本页或其他页面,用document.form[0].复选框的名字来获取所要删除的行,将获取到的数值放到数组中,然后进行操作。
假如使用服务器控件的复选框则在DataList1_ItemCommand事件中进行操作。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lltse85/archive/2009/01/08/3734582.aspx