Я использую диалог JQuery UI для CRUD в своем приложении. Диалог объявлен как:
$(document).ready(function () {
$.ajaxSetup({ cache: false });
$(".openDialog").on("click", function (e) {
e.preventDefault();
$("#dialog-edit").dialog({
title: 'Add Student',
autoOpen: false,
resizable: false,
height: 'auto',
width: 650,
show: { effect: 'drop', direction: "up" },
modal: true,
draggable: true,
open: function (event, ui) {
$(this).load("/Projekti/UnosuProjekat")
},
close: function (event, ui) {
$(this).dialog('close');
},
buttons: {
"Delete all items": function () {
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
});
$("#dialog-edit").dialog('open');
return false;
});
});
Когда я помещаю этот код в index.cshtml, который отображает частичный вид, где мне нужен диалог, он не работает. Когда я помещаю его в частичный вид, где объявлена кнопка, которая запускает диалог, все работает нормально.
Что не так с этим?
В вашем теге index-script:
function Initiate_Dialog(){
$("#dialog-edit").dialog({
title: 'Add Student',
autoOpen: false,
resizable: false,
height: 'auto',
width: 650,
show: { effect: 'drop', direction: "up" },
modal: true,
draggable: true,
open: function (event, ui) {
$(this).load("/Projekti/UnosuProjekat")
},
close: function (event, ui) {
$(this).dialog('close');
},
buttons: {
"Delete all items": function () {
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
});
$("#dialog-edit").dialog('open');
return false;
}
В вашей ajax.actionlink
Добавьте ajaxoptions, который позволяет запускать javascript OnSuccess. Затем он должен вызвать функцию Initiate_Dialog.