我在Asp.net应用程序中有一个GridView控件,该控件具有<asp:buttonField>type="image"CommandName="Delete"

有什么办法可以在到达OnRowDelete事件之前执行一段JavaScript?

在删除行之前,我只需要一个简单的确认。

谢谢!

编辑:请注意,<asp:ButtonField>标记没有OnClientClick属性。

最佳答案

我将改为使用TemplateField,并根据需要的内容使用常规的asp:Button或asp:ImageButton填充ItemTemplate。然后,您可以执行与RowCommand事件截获Delete命令时将要执行的逻辑相同的逻辑。

然后,在这两个按钮中的任何一个上,我都将使用OnClientClick属性在此之前执行JavaScript确认对话框。

<script type="text/javascript">
   function confirmDelete()
   {
       return confirm("Are you sure you want to delete this?");
   }
</script>

...

<asp:TemplateField>
  <ItemTemplate>
     <asp:ImageButton ID="DeleteButton" runat="server"
        ImageUrl="..." AlternateText="Delete" ToolTip="Delete"
        CommandName="Delete" CommandArgument='<%# Eval("ID") %>'
        OnClientClick="return confirmDelete();" />
  </ItemTemplate>
</asp:TemplateField>

09-25 16:37
查看更多