asp之前的Javascript:ButtonField点击

Pab*_*dez 25 javascript asp.net gridview

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

在到达OnRowDelete活动之前有没有办法执行一段javascript ?

我想在删除行之前进行简单的确认.

谢谢!

编辑:请注意,<asp:ButtonField>标签不具备OnClientClick属性.

ste*_*e_c 23

我会使用TemplateField,并使用常规的asp:Button或asp:ImageButton填充ItemTemplate,具体取决于所需的内容.然后,您可以执行与截获Delete命令时RowCommand事件要执行的逻辑相同的逻辑.

在其中任何一个按钮上,我将使用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>
Run Code Online (Sandbox Code Playgroud)

  • 刚碰巧有一个我现在打开的项目的样本. (4认同)

Tod*_*all 15

我发现最优雅的方法是使用jQuery连接onClick事件:

<script type="text/javascript"> 
    $(".deleteLink").click(function() {
      return confirm('Are you sure you wish to delete this record?');
    });
</script>

...

<asp:ButtonField ButtonType="Link" Text="Delete"
    CommandName="Delete" ItemStyle-CssClass="deleteLink" />
Run Code Online (Sandbox Code Playgroud)

请注意,我使用任意CSS类来标识链接按钮.