ASP.NET在执行代码隐藏之前确认

Sar*_*ara 14 javascript vb.net asp.net client-side onclientclick

我有一个表单,用户可以删除记录,我想要一个弹出消息,用户必须单击确定以确认删除.

删除按钮:

<asp:Button ID="btnDelete" runat="server" Text="Delete" UseSubmitBehavior="false" OnClick="btnDelete_Click" OnClientClick="confirmation();" />
Run Code Online (Sandbox Code Playgroud)

确认功能:

function confirmation() {
        var answer = confirm("Are you sure you want to delete? This action cannot be undone.")
    }
Run Code Online (Sandbox Code Playgroud)

所以现在,单击删除按钮会在后面的代码中执行btnDelete_Click Sub,无论您是单击okay还是在弹出框中取消.我知道我可以在我的javascript函数中添加if(answer){ - 这里的一些代码 - },但是可以使用javascript从代码隐藏中执行代码吗?或者还有另一种方法吗?

Thi*_* Oo 34

请尝试如下.您必须返回确认函数的结果(true或false).

<asp:Button 
    ID="btnDelete" 
    runat="server" 
    Text="Delete" 
    UseSubmitBehavior="false" 
    OnClick="btnDelete_Click" 
    OnClientClick="return confirmation();" />
Run Code Online (Sandbox Code Playgroud)

 

function confirmation() {
    return confirm("Are you sure you want to delete?");
}
Run Code Online (Sandbox Code Playgroud)

  • 你可以'返回确认(...)` (16认同)

小智 10

把它放在你的aspx代码中:

OnClientClick="return confirm('Are you sure you want to delete this project?');" 
Run Code Online (Sandbox Code Playgroud)


Pra*_*tta 6

我知道这是旧帖子,但是您可以像这样将上述答案放在一行中。而且您甚至不需要编写函数。

 <asp:Button runat="server" ID="btnDelete" Text="Delete" OnClick="btnDelete_Click" OnClientClick="if ( !confirm('Are you sure you want to delete ? ')) return false;"  />
Run Code Online (Sandbox Code Playgroud)