我是 kendo ui 的初学者,我想使用 kendoUi 窗口,但我在使用时遇到一些问题,我编写了这段代码来创建窗口
@(Html.Kendo().Window().Name("Details")
.Title("Customer Details")
.Visible(false)
.Modal(true)
.Draggable(true)
.Width(300)
)
在页面中我有一些按钮,我希望当用户单击此按钮之一时使用jquery动态设置
LoadContentFrom
。但我不知道该怎么做。请帮我。谢谢大家。
您需要获取 window 对象,设置其
url
并将查询字符串传递给 url 属性。这对我有用:
var window = $("#Details").data("kendoWindow");
window.refresh({
url: '/YourController/YourAction/......',
});
window.open().center();
此外,您还可以将一些数据传递给
action
:
window.refresh({
url: '/YourController/YourAction/......',
data: { id: 10, enterpriseId: 88}
});
或者你可以有一个函数来动态创建窗口并使用一些参数设置它的内容 url:
function createKendoWindow(contentUrl) {
$(document.body).append('<div id="Window"></div>');
$('#Window').kendoWindow({
title: "Log In",
modal: true,
resizable: false,
width: 400,
content: contentUrl,
visible: false,
minHeight: 350,
animation: {
open: {
effects: "expandVertical",
duration: 1000
},
},
close: function () {
setTimeout(function () {
$('#Window').kendoWindow('destroy');
}, 200);
}
}).html('<img src="761.gif" />').data('kendoWindow').center().open();
}
你可以试试这个:
$("#yourbuttonID").bind("click", function() {
$("#Details").data("kendoWindow").open();
});
加载要使用的内容:
@(Html.Kendo().Window().Name("Details")
.Title("Customer Details")
.Visible(false)
.Modal(true)
.Draggable(true)
.LoadContentFrom("brand", "edit")
.Width(300)
)
您可以使用LoadContentFrom并指定Action和Controller。该操作将附加其自己的视图。详情请参阅此处。
也可以使用window.setOptions()方法动态设置url。如果您不希望立即加载内容或需要指定更多选项,则很有用。
var window = $("#Details").data("kendoWindow");
window.setOptions({
content: { url: '/YourController/YourAction/......' },
});
// do other stuff...
window.refresh().open();
url 属性在 content 对象中设置: 窗口内容配置选项