OnClientClick不能在asp.net LinkButton上工作

本文关键字:LinkButton 工作 net asp 不能 OnClientClick | 更新日期: 2023-09-27 18:11:23

我有一个asp.net linkbutton,其中包含OnClientClick属性,但是OnClientClick内的函数从未被调用,它直接跳转到OnClick函数。
以下是我使用LinkButton的两种方式:

<asp:LinkButton ID="btn" CssClass="button" Text="Browse Thumbnail" runat="server" 
     OnClientClick="return confirm('Are you sure you want to delete?');">
</asp:LinkButton>

:

<asp:LinkButton ID="lnkDelete" runat="server" 
     OnClientClick="return confirm('Are you sure you want to delete this slide?');" 
     CommandName="DeleteThumbnail" CommandArgument='<%# Container.DataItemIndex %>'>
   <asp:Image ImageUrl="~/images/delete.gif" ID="imgDelete" runat="server"></asp:Image>  
</asp:LinkButton>

两种方法都行不通。

有谁能提供一些解决方案吗?

OnClientClick不能在asp.net LinkButton上工作

  OnClientClick="javascript:return confirmAction();"  
  function confirmAction() {  
      if(confirm('Are you sure you want to delete?')) {  
        // you clicked the OK button.  
        // you can allow the form to post the data.  
        return true;  
    }  
    else {  
        return false;  
        }  
    }  

在服务器端实现Onclick

 protected void lnkdelete_Click(object sender, EventArgs e)  
 {  
 }  

,如果你不想调用服务器方法,使用这个

   OnClientClick="javascript:confirmAction(); return false;" 

很可能有其他页面元素阻止触发此事件。

是否有其他可能干扰的页面元素?您是否尝试删除除此元素外的所有其他页面元素?您是否有一些可能会干扰的AJAX调用?你试过用一个简单的html元素(不是asp.net)吗?

你很可能在你的链接按钮做的一切都很好,但似乎问题是在别处。

用单引号括起来,

<asp:LinkButton ID="btn" CssClass="button" Text="Browse Thumbnail" runat="server" OnClientClick="return confirm('Are you sure you want to delete?');"></asp:LinkButton>

像这样使用

 function Navigate() 
 { 
     javascript: window.open("microsoft.com"); 
     return false;
 }

和clientclick上的

OnClientClick="return javascript:Navigate()"

或者

 function Navigate() 
 { 
     window.open("microsoft.com"); 
     return false;
 }
 OnClientClick="return Navigate()"

似乎你已经禁用了IE中的javascript。只要启用它&你可以走了。你可以按照这篇文章来启用/禁用IE中的javascript:

http://browsers.about.com/od/internetexplorertutorials/ss/disable-javascript-ie9.htm

您的OnClientClick方法没有问题,它应该提示确认窗口。但是您没有指定链接按钮的onclick事件。因此,您将无法从后面的代码中获取事件。

您可能需要为您的浏览器启用java脚本

如何在web浏览器中启用JavaScript ?

您正在使用Ajax工具包吗?更新面板吗?然后你需要使用脚本管理器

注册脚本

要从AJAX回发中注入确认脚本,

ScriptManager.RegisterOnSubmitStatement(btn, Page.GetType(), "confirm", "return confirm('Are you sure');");