将数据从 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();
    }