【发布时间】:2014-10-10 07:26:07
【问题描述】:
我卡在 mvc 模态对话框中,当我单击模态对话框内的按钮时,我想打开另一个模态对话框,该对话框执行 ajax 以将数据发布到呈现新对话框的操作,问题是调用已发送到动作,但它从不呈现对话框是否有另一种方法可以做到这一点 一些代码:
function LoadRightsDialog() {
//$("#form0").close();
var list = [];
var elems = document.getElementById('destiny').children;
for (i = 0; i < elems.length; i++) {
if (elems[i].toString() == "[object HTMLDivElement]") {
list.push(elems[i].id);
}
}
//alert(list.length)
var json = JSON.stringify(list)
//$.post("/DistributionList/SaveMyData/", { jsonData: jlst }
var templateId = '<%:TempData["projectID"]%>';
//alert(templateId)
$.ajax({
type: "GET",
url: "/Temp/AddUserDialogSave",
data: {
jsonUser: json,
templateId: templateId
},
success: function (data) {
window.location.href = data;
// alert(data.Result);
},
dataType: "json",
traditional: true
});
$(".ui-dialog-content").dialog("close");
}
调用此函数的事件
<img src="~/Content/saveDialog.png" class="box" id="box" onclick="LoadRightsDialog()" />
和控制器动作
public ActionResult AddRightsDialog(string jsonUser,string templateId){
return PartialView();//this loads the modal dialog
}
【问题讨论】:
-
这行:return alert(data.Result) 是否真的提醒正确的 HTML?
-
它不会提醒任何事情
-
无论如何你都应该使用 Console.log(data.Result) - 更容易阅读输出。如果您甚至没有得到任何输出,那么您很难在没有看到更多您正在做的事情的情况下回答这个问题。
-
好的,我添加了更多代码,请注意,模式对话框没有加载
-
你可以尝试改变警报(data.Result);到 console.log(data);并检查开发者工具控制台(Chrome F12 > 控制台)。这有什么输出吗?
标签: jquery ajax asp.net-mvc