4

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

<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>

这两种方法都不起作用。

任何人都可以请提供一些解决方案。

4

6 回答 6

3
  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;" 
于 2013-04-30T06:27:19.380 回答
2

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

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

您很可能在链接按钮中做的一切都很好,但似乎问题出在其他地方。

于 2013-05-01T02:28:19.983 回答
0

Place it in single quotes like below,

<asp:LinkButton ID="btn" CssClass="button" Text="Browse Thumbnail" runat="server" OnClientClick="return confirm('Are you sure you want to delete?');"></asp:LinkButton>
于 2013-04-30T06:33:08.800 回答
0

像这样使用

 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()"
于 2013-04-30T06:33:47.403 回答
0

好像你已经禁用了 IE 中的 javascript。只需启用它,您就可以开始了。您可以按照这篇文章来启用/禁用 IE 中的 javascript:

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

于 2013-04-30T06:50:35.260 回答
0

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

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

如何在网络浏览器中启用 JavaScript?

你在使用 Ajax 工具包吗?更新面板?那么您需要使用脚本管理器注册脚本

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

ScriptManager.RegisterOnSubmitStatement(btn, Page.GetType(), "confirm", "return confirm('Are you sure');");
于 2013-04-30T06:46:55.930 回答