所以,我试图将数据传递给控制器动作,并且即使在调用之前填充数据中的调试时它也会一直空着。我真的不确定我做错了什么。我试过把它变成一个帖子而不是一个get,我试过不使用url.action并只是放入完全限定的路径。
以下是视图中的代码。
function openWindow() {
var grid = $("#AjaxGrid").data("kendoGrid");
var selectedData = grid.dataItem(grid.select());
var stringData = JSON.stringify(selectedData);
var window = $("#UserDetailDiv").data("kendoWindow");
var PopUpTitle = "User Detail: ";
window.setOptions({
title: PopUpTitle,
content: "Loading....."
});
window.refresh({
url: "@Url.Action("UserDetail", "Inquiry")",
data: {
userString: stringData,
directCall: "T"
},
error: function (xhr, textStatus, exceptionThrown) {
window.close();
alert($.parseJSON(xhr.responseText));
}
});
window.open();
window.center();
}
这是行动的签名。
<ViewModelActionFilter> _
Public Function UserDetail(userString As String, directCall As String) _
答案 0 :(得分:4)
我得到了一个帖子。问题是当使用kendo窗口并设置iFrame:true时,它会阻止帖子。我删除它,现在它工作得很好。 之前:
@(Html.Kendo().Window().Name("UserDetailDiv") _
.Title("User Details") _
.Visible(False) _
.Modal(True) _
.Height(500) _
.Draggable(True) _
.Width(900) _
.iframe(true)
)
后:
@(Html.Kendo().Window().Name("UserDetailDiv") _
.Title("User Details") _
.Visible(False) _
.Modal(True) _
.Height(500) _
.Draggable(True) _
.Width(900)
)
刷新代码:
function openDetailWindow() {
var grid = $("#AjaxGrid").data("kendoGrid");
var selectedData = grid.dataItem(grid.select());
var stringData = JSON.stringify(selectedData);
var window = $("#UserDetailDiv").data("kendoWindow");
var PopUpTitle = "User Detail: ";
window.setOptions({
title: PopUpTitle,
content: "Loading....."
});
window.refresh({
url: "../Inquiry/UserDetail",
type: "POST",
data: { userData: stringData, directCall: "T" }
});
window.open();
window.center();
}