在Kendo窗口中单击按钮时关闭Kendo窗口(部分视图)

时间:2014-11-29 15:50:47

标签: jquery asp.net-mvc telerik asp.net-mvc-5 kendo-window

我有一个视图" TestView1.cshtml"在其中我有一个Kendo Window Control,它由以下代码定义。

 @(Html.Kendo()
    .Window()
    .Name("TestView1Window")
    .Title("About Kendo")
    .Content(@Html.RenderPartial(~/Views/PartialViews/TestPartialView2.cshtml))
     .Draggable()
     .Resizable()
     .Width(600)
    .Actions(actions => actions.Pin().Minimize().Maximize().Close())
    .Events(ev => ev.Close("onClose"))
    .Render();
    )

我在TestView1.cshtml中的一个按钮的帮助下打开这个窗口。

<span id="undo" style="display:none" class="k-button">Click here to open the window.</span>

现在当窗口加载局部视图&#34; TestPartialView2&#34;呈现包含 一个Kendo按钮控件,由以下代码定义: -

@(Html.Kendo()
.Button()
.Name("CloseKendoWindow").
.HtmlAttributes(new {@class="Test2",style="font-size:15px;"})
)

现在我要关闭部分视图&#34; TestPartialView2.cshtml&#34; on&#34; CloseKendoWindow&#34;按钮单击并确保TestView1视图的其余部分完整,就像加载它时的方式一样。

基本上,我想要一个jQuery解决方案,点击TestPartialView2.cshtml上的按钮,关闭TestView1中的Kendo Window控件。

如果对我想要达到的目标有任何疑问,请发表评论。

1 个答案:

答案 0 :(得分:0)

我不熟悉telerik控件,但你可以通过下面的jQuery代码尝试:

$(document).ready(function () {
        var wnd = $("#window").data("kendoWindow");


        $("#closebtnId").click(function(e) {
            wnd.close();
        });
    });

<强>更新

可以试试吗

$(#yourbutton).closest(".k-window-content").data("kendoWindow").close();

*用按钮名替换你的按钮。

或者这个

 $(document).ready(function () {
        $('#nameOfYourWindow').data().kendoWindow.bind('refresh', function(e) {
            var win = this;
            $('#btnClose').click(function() {
                win.close();
            });
        });
    });