JQuery UI对话框在index.cshtml中声明时不工作,但在部分视图中工作
在我的应用程序中,我正在为CRUD使用jQueryUI对话框。对话框声明为:JQuery UI对话框在index.cshtml中声明时不工作,但在部分视图中工作,jquery,asp.net-mvc,asp.net-mvc-4,razor,Jquery,Asp.net Mvc,Asp.net Mvc 4,Razor,在我的应用程序中,我正在为CRUD使用jQueryUI对话框。对话框声明为: $(document).ready(function () { $.ajaxSetup({ cache: false }); $(".openDialog").on("click", function (e) { e.preventDefault(); $("#dialog-edit").dialog({
$(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中,在需要对话框的地方呈现局部视图时,它不起作用。
当我把它放在声明了执行对话框的按钮的局部视图中时,一切正常
这有什么问题?在索引脚本标记中:
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。然后调用Initiate_对话框函数 如何渲染局部视图?在运行对话框之前,您可以尝试检查#对话框编辑是否为null或未定义。@Html.Partial(“u Partial”,Model,null)。当我在FF中打开源代码视图时,在这两种情况下都会显示脚本,只是在不在其内部的情况下无法工作_partial…好的,只是必须排除使用ajax的可能性;)正如我提到的,首先尝试检查对话框编辑是否为null或未定义,这可能会解释更多。实际上,我正在使用ajax.actionlink创建“.openDialog”链接,而“#dialog edit”是在“_partial”中声明的空div,因此可以解释它。使用ajax调用时,在点击链接时呈现partialview。它发生在$(document).ready之后。当您在partialview中拥有脚本代码时,它会工作,因为当请求完成时,partialview将进入其“document.ready”状态。