Javascript JQuery模态对话框确认不';不显示给用户
我正在开发一个基于ASP.NET的WebForms应用程序,用C#编写。这个应用程序执行CRUD操作,每次用户想要执行操作时,我都需要向客户端显示确认消息。我决定创建一个jQuery函数,它接收窗口的标题、要显示给用户的消息以及表示操作的按钮 这是我的Javascript函数:Javascript JQuery模态对话框确认不';不显示给用户,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我正在开发一个基于ASP.NET的WebForms应用程序,用C#编写。这个应用程序执行CRUD操作,每次用户想要执行操作时,我都需要向客户端显示确认消息。我决定创建一个jQuery函数,它接收窗口的标题、要显示给用户的消息以及表示操作的按钮 这是我的Javascript函数: var _confirm = false; function Confirm(str, strtitle,button) { e.preventDefault(); if (!strtitle) strtitle
var _confirm = false;
function Confirm(str, strtitle,button) {
e.preventDefault();
if (!strtitle) strtitle = 'Mensaje de error';
$('#dialog').show();
$('#dialog').html(str);
$("#dialog").dialog({
autoOpen: true,
draggable: false,
resizable: false,
modal: true,
title: strtitle,
width: 350,
height: 180,
show: "slide",
hide: "puff",
buttons: {
"No": function () {
jQuery(this).dialog("close");
},
"Yes": function () {
jQuery(this).dialog("close");
_confirm = true;
button.click();
}
},
close: function () {
jQuery(this).remove();
}
});
return false;
}
这是ASP按钮:
<asp:button id="btnOk" onclick="btnDGV_Click"
onclientclick="Confirm('Desea eliminar el registro', 'Confirmacion', this);"
runat="server" text="Eliminar Registro">
</asp:button>
问题是,当我单击按钮时,服务器端消息总是出现,而jQuery对话框从未显示。可能是什么问题?以下是一些需要检查的问题,这些问题应该可以解决:
onclientclick=“确认('Desea eliminar el registro','Confirmacion',this);返回
这将阻止按钮进行回发
并修改:
“是”:函数(){
jQuery(this.dialog)(“close”);
__doPostBack('','')
按钮。单击();
}
如果单击“是”,此代码将进行回发并调用按钮的onclick属性上指定的方法,并且在没有onclick?@BasvanStein否的情况下它是否工作?如果没有onclick=“btnDGV_click”,它只会显示非常薄的一面,并以最快的速度消失至少需要调用$(“#dialog”).show();在对话框初始化之后,而不是之前。另外,我认为您需要从onclick设置中删除“btnDGV_Click”,并以某种方式在“Yes”按钮处理程序中调用它。例如,您可以使用jQuery ajax特性ablo在“Yes”按钮处理程序中如何放置uu doPostBack()。我不擅长ASP.NET web表单。但正如我在这里看到的那样,这会有所帮助。在这种情况下,您需要在u doPostBack()中调用“btnDGV”,并将其从onclick设置中删除。据我所知,您的JS“Confirm”函数结束后,此设置中的工作代码“onclick=”btnDGV_Click“。因此,如果从按钮初始化中删除此设置,则在“确定”中调用u doPostBack()之前,不应进行服务器调用“按钮手柄谢谢DvS,请您澄清第三点:“您试图在对话框初始化之前显示它”这似乎是我的错误,但我无法理解,我只是从jQuery开始这不是借口,但我找不到错误您的函数调用
$('#dialog').show()代码>在$(“#dialog”).dialog({…})之前
protected void btnDGV_Click(object sender, EventArgs e) {
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Registro eliminado exitosamente !!!')", true);
}