aspx文件代码:
<input type="hidden" name="delete_state"> <asp:datagrid id="dg_menu" runat="server" DataKeyField="int_menu_id" ShowFooter="True" CellSpacing="0" CellPadding="2" BorderWidth="1" BorderColor="black" BorderStyle="solid" BackColor="white" CssClass="Shadow" AutoGenerateColumns="False">
<ItemStyle BackColor="Beige"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="Brown"></HeaderStyle>
<Columns> <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="<img src=image/ok.gif border=0 align=absmiddle alt='更新'>" CancelText="<img src=image/Cancel.gif border=0 align=absmiddle alt='取消'>" EditText="<img src=image/edit.gif border=0 align=absmiddle alt='修改'>"></asp:EditCommandColumn>
<asp:ButtonColumn CommandName="delete" Text="<img src=image/Delete.gif border=0 align=absmiddle alt='删除'>"></asp:ButtonColumn>
</Columns>
</asp:datagrid>
在绑定数据源的时候为删除按钮添加客户端单击事件:
//更新datagrid,即重新绑定datagrid的数据。
private void dg_menu_upview()
{
DataSet ds_new=(DataSet)Session["dg_source"];
dg_menu.DataSource=ds_new.Tables["tb_root"];
dg_menu.DataBind();
foreach (DataGridItem dgi_item in dg_menu.Items)
{
string str_delete_id=dg_menu.DataKeys[dgi_item.ItemIndex].ToString();
LinkButton lb_delete=(LinkButton)dgi_item.Cells[4].Controls[0];
lb_delete.Attributes.Add("onclick","delete_click()");
}
}
客户端单击事件函数:
<script>
function delete_click()
{
var x1=window.confirm("确定删除该项!");
if (x1==true)
{
window.document.ty_menu.delete_state.value="true";
}
else
{
window.document.ty_menu.delete_state.value="false";
}
}
</script>删除事件:
//单击删除按钮事件
private void dg_menu_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (Request.Form["delete_state"].ToString()=="true")
{
string str_delete_id="delete from ty_menu where int_menu_id=" + dg_menu.DataKeys[e.Item.ItemIndex].ToString();
cyc_data cd_delete=new cyc_data(ConfigurationSettings.AppSettings["str_database_connection"].ToString());
cd_delete.update_for_sqlcmd(str_delete_id);
}
//刷新菜单树
create_tv_menu();
//重新绑定数据,取消编辑状态
dg_menu.EditItemIndex=-1;
dg_menu_load("and a.int_father_menu_id=" + tv_menu.Nodes[0].ID.ToString());
dg_menu_upview(); }
<input type="hidden" name="delete_state"> <asp:datagrid id="dg_menu" runat="server" DataKeyField="int_menu_id" ShowFooter="True" CellSpacing="0" CellPadding="2" BorderWidth="1" BorderColor="black" BorderStyle="solid" BackColor="white" CssClass="Shadow" AutoGenerateColumns="False">
<ItemStyle BackColor="Beige"></ItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="Brown"></HeaderStyle>
<Columns> <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="<img src=image/ok.gif border=0 align=absmiddle alt='更新'>" CancelText="<img src=image/Cancel.gif border=0 align=absmiddle alt='取消'>" EditText="<img src=image/edit.gif border=0 align=absmiddle alt='修改'>"></asp:EditCommandColumn>
<asp:ButtonColumn CommandName="delete" Text="<img src=image/Delete.gif border=0 align=absmiddle alt='删除'>"></asp:ButtonColumn>
</Columns>
</asp:datagrid>
在绑定数据源的时候为删除按钮添加客户端单击事件:
//更新datagrid,即重新绑定datagrid的数据。
private void dg_menu_upview()
{
DataSet ds_new=(DataSet)Session["dg_source"];
dg_menu.DataSource=ds_new.Tables["tb_root"];
dg_menu.DataBind();
foreach (DataGridItem dgi_item in dg_menu.Items)
{
string str_delete_id=dg_menu.DataKeys[dgi_item.ItemIndex].ToString();
LinkButton lb_delete=(LinkButton)dgi_item.Cells[4].Controls[0];
lb_delete.Attributes.Add("onclick","delete_click()");
}
}
客户端单击事件函数:
<script>
function delete_click()
{
var x1=window.confirm("确定删除该项!");
if (x1==true)
{
window.document.ty_menu.delete_state.value="true";
}
else
{
window.document.ty_menu.delete_state.value="false";
}
}
</script>删除事件:
//单击删除按钮事件
private void dg_menu_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (Request.Form["delete_state"].ToString()=="true")
{
string str_delete_id="delete from ty_menu where int_menu_id=" + dg_menu.DataKeys[e.Item.ItemIndex].ToString();
cyc_data cd_delete=new cyc_data(ConfigurationSettings.AppSettings["str_database_connection"].ToString());
cd_delete.update_for_sqlcmd(str_delete_id);
}
//刷新菜单树
create_tv_menu();
//重新绑定数据,取消编辑状态
dg_menu.EditItemIndex=-1;
dg_menu_load("and a.int_father_menu_id=" + tv_menu.Nodes[0].ID.ToString());
dg_menu_upview(); }
http://expert.csdn.net/Expert/topic/1213/1213430.xml?temp=.942013
CType(e.Item.Cells(4).FindControl("删除按钮的id"), Button).Attributes("onclick") = "javascript:return confirm('确实要删除吗')"
End If
补充删除按钮一定要是模板列,上面的4为从左边数起列所在位置
你的删除记录的程序已经写好了吧!那么当用户按下“删除”后就会弹出“确实要删除吗”,下边有“是 ” “否”两个按钮给用户选择,你先试试吧!
按“是”就返回执行删除操作,按“否”则取消操作