将数据从 Kendo UI window 传递到控制器,数据为空
Passing data to controller from Kendo UI window and data is empty
所以,我正在尝试将数据传递给控制器操作,并且即使在调用之前填充数据进行调试时,它仍然以空状态到达那里。我真的不确定我做错了什么。我试过使它成为 post 而不是 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) _
我用 post 得到了它。问题是当使用 kendo window 并设置 iFrame:true 时,它会阻止 post。我删除了它,现在它运行良好。
之前:
@(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();
}
所以,我正在尝试将数据传递给控制器操作,并且即使在调用之前填充数据进行调试时,它仍然以空状态到达那里。我真的不确定我做错了什么。我试过使它成为 post 而不是 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) _
我用 post 得到了它。问题是当使用 kendo window 并设置 iFrame:true 时,它会阻止 post。我删除了它,现在它运行良好。 之前:
@(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();
}