Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript OnClientClick=true不触发服务器端代码_Javascript_Asp.net - Fatal编程技术网

Javascript OnClientClick=true不触发服务器端代码

Javascript OnClientClick=true不触发服务器端代码,javascript,asp.net,Javascript,Asp.net,我有一个asp.net页面,我想在触发服务器端事件之前显示一个确认对话框 但是,当用户单击OK按钮时,它不会触发服务器端事件 我已经尝试了其他问题中提到的一切 我认为问题可能是因为我还使用了一个更新面板: 代码如下: <asp:ScriptManager runat="server"></asp:ScriptManager> <asp:UpdatePanel runat="server" ID="myUpdatePanel" UpdateMode="Cond

我有一个asp.net页面,我想在触发服务器端事件之前显示一个确认对话框

但是,当用户单击OK按钮时,它不会触发服务器端事件

我已经尝试了其他问题中提到的一切

我认为问题可能是因为我还使用了一个更新面板:

代码如下:

<asp:ScriptManager runat="server"></asp:ScriptManager>
    <asp:UpdatePanel runat="server" ID="myUpdatePanel" UpdateMode="Conditional">
         <ContentTemplate>
             <asp:Hyperlink runat="server" ID="InstanceHyperlink" Visible="false"></asp:Hyperlink><asp:Button runat="server" Visible="false" ID="DeleteInstance" OnClick="DeleteInstance_Click"  Text="Delete Instance"/>
                 <asp:Button runat="server" OnClientClick="if ( ! createInstanceConfirm()) { return false; }" OnClick="CreateInstance_Click1" ID="CreateInstance" UseSubmitBehavior="false" Text="Create Instance"></asp:Button>
        </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="CreateInstance" EventName="Click"/>
    </Triggers>
</asp:UpdatePanel> 

Javascript:

<script type="text/javascript">
    function createInstanceConfirm() 
    {
       UIkit.modal.confirm("You are about to create a new instance", function ()
       { 
           return true; 
       });
    }
</script>

函数createInstanceConfig()
{
confirm(“您将要创建一个新实例”,函数()
{ 
返回true;
});
}

您返回的是
false
,但如果您不想取消回发,则必须返回
true

因此,不是:

OnClientClick="if ( ! createInstanceConfirm()) { return false; }"
您可以使用它(假设该方法返回
true
false
):

我以前没有使用过此组件,但您可以尝试以下方法:

function createInstanceConfirm() 
{
   bool confirmed = UIkit.modal.confirm("You are about to create a new instance", function ()
   { 
       return true; 
   });
   return confirmed;
}

您正在返回
false
,但如果不想取消回发,则必须返回
true

因此,不是:

OnClientClick="if ( ! createInstanceConfirm()) { return false; }"
您可以使用它(假设该方法返回
true
false
):

我以前没有使用过此组件,但您可以尝试以下方法:

function createInstanceConfirm() 
{
   bool confirmed = UIkit.modal.confirm("You are about to create a new instance", function ()
   { 
       return true; 
   });
   return confirmed;
}

您是否尝试过从ASyncPostBackTrigger中删除EventName属性-不需要这样做。一旦呈现,请检查页面源代码,查看哪些事件链接到相关按钮。

您是否尝试过从ASyncPostBackTrigger中删除EventName属性-不需要这样做。一旦呈现,请检查页面源代码,查看哪些事件链接到相关按钮。

我发现这是在使用回调,我通过调用另一个Javascript函数手动对按钮进行回发,使其正常工作:

  function createInstanceConfirm() {
        return UIkit.modal.confirm("You are about to create a new instance for Development", function () {
            JSFunction();
        });
    }

     function JSFunction() {
             __doPostBack('<%= CreateInstance.ClientID  %>', '');
         }
函数createInstanceConfig(){
返回UIkit.modal.confirm(“您将要为开发创建一个新实例”),函数(){
JSFunction();
});
}
函数JSFunction(){
__doPostBack('','');
}

它的工作方式与JQuery确认对话框的工作方式相同。

我发现这是使用回调,我通过调用另一个Javascript函数手动在按钮上进行回发,成功地使其工作:

  function createInstanceConfirm() {
        return UIkit.modal.confirm("You are about to create a new instance for Development", function () {
            JSFunction();
        });
    }

     function JSFunction() {
             __doPostBack('<%= CreateInstance.ClientID  %>', '');
         }
函数createInstanceConfig(){
返回UIkit.modal.confirm(“您将要为开发创建一个新实例”),函数(){
JSFunction();
});
}
函数JSFunction(){
__doPostBack('','');
}

它的工作方式与JQuery确认对话框相同。

我已经尝试过了,但仍然不起作用,这让我发疯!我同意它应该能用。@realtek:我以前没有用过
UIkit.modal.confirm
。但你必须回到现实。在任何情况下,都可以通过从
createInstanceConfig
返回true来测试它,然后进行回发。
确认
是否返回任何内容?我编辑了我的答案。好的,我刚刚发现UIKit.modal.confirm实际上会在用户单击“确定”时触发回调。因此函数没有返回true。它将立即返回。不知道我现在怎么能让它工作!我已经试过了,但仍然不起作用,这让我发疯!我同意它应该能用。@realtek:我以前没有用过
UIkit.modal.confirm
。但你必须回到现实。在任何情况下,都可以通过从
createInstanceConfig
返回true来测试它,然后进行回发。
确认
是否返回任何内容?我编辑了我的答案。好的,我刚刚发现UIKit.modal.confirm实际上会在用户单击“确定”时触发回调。因此函数没有返回true。它将立即返回。不知道我现在怎么能让它工作!是的,我已经删除了,但它仍然不起作用。如果我删除OnClientClick,它会正常工作,但我需要确认是的,我已经删除了它,但它仍然不工作。如果我删除OnClientClick,它会正常工作,但我需要确认