我本想实现当用户按下“删除”按钮时再弹出一个提示“你是否真的要删除此记录,单击”是“则删除,单击”否“则返回。下面是写的代码:
Function showmessage(ByVal info As String, ByVal cmdstr As String) As String
Dim script As String
Dim alert As String
If cmdstr = "ok" Then
alert = "0+64" 0代表vbokonly,只显示确定按扭,64代表vbinformation,显示”信息 符号“对话框
ElseIf cmdstr = "yesno" Then
alert = "4+48" 4代表vbyesno,显示"是“及”否”按扭,48代表vbexclamation,显 示警号信息
End If
script = "<script language=" & Chr(34) & "vbscript" & Chr(34) & ">" & Chr(13)
script += "action=msgbox(" & Chr(34) & info & Chr(34) & "," & alert & "," & Chr(34) & "" & Chr(34) & ")" & Chr(13) chr(34)代表引号,chr(13)代表换行符
script += "if action=7 then" & Chr(13) 7代表vbno,相当于“否"
script += "me.history.go(-1)" & Chr(13)
script += " end if" & Chr(13)
script += "</script>" & Chr(13)
showmessage = script
Return showmessage
End Function
上面是显示信息的函数
Private Sub DGclient_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DGclient.DeleteCommand
Dim DelStr As String
DelStr = "delete from client_table where " & DGclient.DataKeyField & "=" & DGclient.DataKeys(e.Item.ItemIndex)
Response.Write(showmessage("do you really want to delete it?", "yesno"))
ExecuteSql(DelStr)
If (DGclient.Items.Count = 1 And DGclient.CurrentPageIndex > 0) Then
DGclient.CurrentPageIndex = DGclient.CurrentPageIndex - 1
End If
End Sub
用户单击删除按钮触发上面的事件,但现在的问题是:单击了“否”会返回,但同时也把记录删了。
各位高手帮我看看这段代码,要怎样修改才能实现我要的功能。
在itemcreated事件中处理此事
Sub dgrdArticle_ItemCreated( s As Object, e As DataGridItemEventArgs )
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem
Dim links As LinkButton
links = e.Item.FindControl("btnDelete")
links.Attributes.Add("onclick", "return confirm(你是否确定删除?);")
End Select
End Sub
<asp:TemplateColumn HeaderText="删除">
<HeaderStyle width="30px"></HeaderStyle>
<ItemTemplate>
<asp:LinkButton id="btnDelete" runat="server" Width="30px" ForeColor="Red" CommandName="Delete">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
不管你是用什么方法,点了是要是你删除语句没问题的话是可以删除的...点否后是不会执行删除语句的....
private void gd_xx_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
ImageButton button = (ImageButton) e.Item.FindControl("Imagebutton2");
button.Attributes.Add ("onclick",
"return confirm (\"确定要删除此项记录吗?\");");
}
}
private void gd_xx_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//删除过程
}
<asp:TemplateColumn HeaderText=" 删 除">
<ItemTemplate>
<asp:ImageButton CausesValidation="False" id="Imagebutton2" runat="server" ImageUrl="../../images/delete.gif"
AlternateText="删除" Runat="server" CommandName="delete"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateColumn>