我正在使用基於ASP.NET的WebForms應用程序,並使用C#編碼。此應用程序執行CRUD操作,並且每次用戶想要執行操作時都需要向客戶端顯示確認消息。我決定創建一個jQuery函數,它接收窗口的標題,顯示給用戶的消息和表示動作的按鈕。JQuery模式對話框確認不會顯示給用戶
這是我的javascript功能:
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>
的onclick在服務器端事件的代碼(這僅僅是時間的確認消息正在):
protected void btnDGV_Click(object sender, EventArgs e) {
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Registro eliminado exitosamente !!!')", true);
}
問題是,當我點擊按鈕的服務器端消息ALW ays出現,jQuery對話框從不顯示。可能是什麼問題呢?
而且它沒有'onclick'工作嗎? –
@BasvanStein沒有onclick =「btnDGV_Click」它只是顯示一個非常薄的一面,並消失得像它出現的一樣快 –
至少你需要調用$('#dialog')。對話框初始化之後但不是之前。其他的事情,我認爲你需要從onclick設置中刪除「btnDGV_Click」,並在「是」按鈕處理程序中以某種方式調用它。比如你可以使用jQuery ajax功能 – AntonE