Asp.net mvc MVC剑道窗口-从JavaScript函数获取数据

Asp.net mvc MVC剑道窗口-从JavaScript函数获取数据,asp.net-mvc,kendo-ui,telerik,Asp.net Mvc,Kendo Ui,Telerik,我的应用程序中有这个剑道窗口 Html.Kendo().Window() .Name("copyStructure") .Title("Copy Structure") .Content("Loading...") .LoadContentFrom("CopyStructure", "NewXmlLayout") // <-- here* .Dragg

我的应用程序中有这个剑道窗口

Html.Kendo().Window()
    .Name("copyStructure")
    .Title("Copy Structure")
    .Content("Loading...")
    .LoadContentFrom("CopyStructure", "NewXmlLayout") // <-- here*
    .Draggable(false)
    .Visible(false)
    .Modal(true)
    .Actions(s => s.Custom(""))
    .Events(e => e.Open("openWindow").Close("closeWindow"))
但这不是我要找的

JS函数:

function getInfo() {
        return { type: "INPUT" };
    };
我的控制器:

 public ActionResult CopyStructure(string type)
    {
        return PartialView();
    }

如果您确实需要通过JavaScript
getInfo()
函数访问数据,那么执行此操作的方法是在您正在执行的操作中定义窗口,但在打开窗口之前不要设置内容。打开窗口时,使用
jQuery.ajax()
调用
CopyResult
,将
getInfo()
的结果传递到数据参数中

在剃须刀中,取出
LoadContentFrom
Open
事件添加事件处理程序:

@(Html.Kendo().Window()
    .Name("copyStructure")
    // Omitted for brevity
    ...
    .Events(e => e.Open("copyStructure_Open"))
)
在JavaScript处理程序中,调用
$.ajax
,在
success
回调中,调用窗口对象上的
content
方法,将返回的
数据作为参数传递:

function copyStructure_Open(e) {
    $.ajax({
        url: '@Url.Action("CopyStructure", "NewXmlLayout")',
        type: 'POST',
        data: getInfo(),
        success: function(data) {
            e.sender.content(data);
        }
    });
}

注意只发送窗口内容所需的内容,而不是整页(DOCTYPE、html、head、body)-请参阅Telerik中的此文档:

“NewXmlLayout”
替换为
getInfo()
?“不是我要找的东西”是什么意思?
“NewXmlLayout”
是我的控制器,
CopyStructure
是我的操作。谢谢,我用mvc局部视图的loadcontentfrom让我毛骨悚然,而我忘了将布局设置为null
function copyStructure_Open(e) {
    $.ajax({
        url: '@Url.Action("CopyStructure", "NewXmlLayout")',
        type: 'POST',
        data: getInfo(),
        success: function(data) {
            e.sender.content(data);
        }
    });
}