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="&lt;img src=image/ok.gif border=0 align=absmiddle alt='更新'&gt;" CancelText="&lt;img src=image/Cancel.gif border=0 align=absmiddle alt='取消'&gt;" EditText="&lt;img src=image/edit.gif border=0 align=absmiddle alt='修改'&gt;"></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(); }

解决方案 »

  1.   

    老哥,用用搜索,在来提问,这样你的可用分就不会浪费了!呵呵呵
    http://expert.csdn.net/Expert/topic/1213/1213430.xml?temp=.942013
      

  2.   

    在datagrid_itemdatabound中写 If e.Item.ItemIndex > -1 Then
                CType(e.Item.Cells(4).FindControl("删除按钮的id"), Button).Attributes("onclick") = "javascript:return confirm('确实要删除吗')"
            End If
    补充删除按钮一定要是模板列,上面的4为从左边数起列所在位置
    你的删除记录的程序已经写好了吧!那么当用户按下“删除”后就会弹出“确实要删除吗”,下边有“是 ” “否”两个按钮给用户选择,你先试试吧!
    按“是”就返回执行删除操作,按“否”则取消操作