首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp之前的Javascript :ButtonField单击

asp之前的Javascript :ButtonField单击
EN

Stack Overflow用户
提问于 2008-10-20 14:59:41
回答 5查看 29.1K关注 0票数 25

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

在到达OnRowDelete事件之前,是否有任何方法执行一段javascript?

在删除行之前,我只想简单确认一下。

谢谢!

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-10-20 15:16:37

我将使用TemplateField,并使用常规的asp:按钮或asp:ImageButton填充ItemTemplate,这取决于所需的内容。然后,您可以执行与RowCommand事件拦截Delete命令时要执行的逻辑相同的逻辑。

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

代码语言: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>
票数 23
EN

Stack Overflow用户

发布于 2010-03-01 20:18:13

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

代码语言:javascript
复制
<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" />

注意,我使用一个任意的CSS类来标识链接按钮。

票数 15
EN

Stack Overflow用户

发布于 2008-10-20 16:42:42

GridViewRowCreated事件处理程序中,使用FindControl查找命名按钮,并将其添加到属性集合中:

代码语言:javascript
复制
btn.Attributes.Add("onclick", "return confirm('delete this record?');");

只有在ASP.Net ()是真的情况下,即已经确定了的情况下,才会执行您的代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/218733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档