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);
}
});
}