Javascript OnClientClick=true不触发服务器端代码
我有一个asp.net页面,我想在触发服务器端事件之前显示一个确认对话框 但是,当用户单击OK按钮时,它不会触发服务器端事件 我已经尝试了其他问题中提到的一切 我认为问题可能是因为我还使用了一个更新面板: 代码如下: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: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,它会正常工作,但我需要确认