2014-11-29 5 views
2

У меня есть вид «TestView1.cshtml», внутри которого у меня есть окно управления окнами Kendo, которое определяется следующим кодом.Закройте окно Kendo (частичный просмотр) при нажатии кнопки в окне Kendo

@(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> 

Теперь, когда окно загружает частичный вид «TestPartialView2» визуализируется, который содержит элемент управления кнопки Кендо, которая определяется следующим кодом: -

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

Теперь я хочу, чтобы закрыть парциальное просмотрите «TestPartialView2.cshtml» на кнопке «CloseKendoWindow» и убедитесь, что остальная часть представления TestView1 не повреждена, как это было, когда она была загружена.

В принципе, я хочу, чтобы решение jQuery закрыло элемент управления Kendo Window в TestView1 при щелчке кнопки, которая присутствует на TestPartialView2.cshtml.

Если у вас есть сомнения относительно того, чего я пытаюсь достичь здесь, пожалуйста, оставьте комментарий.

+0

ли у попробовать это $ ("# окна") данные ("kendoWindow") близко(); – sakir

+0

@ sakir - это $ ("# window") общий идентификатор для окна Kendo, поскольку имя идентификатора по запросу - «TestView1Window», а элемент управления Kendo Window не находится на том же самом представлении, что и кнопка закрытия, t доступ к управлению окном простым jQuery, я думаю. – Shivam657

ответ

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

* заменить yourbutton с имя кнопки. ..

или это один

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

Как я уже говорил, окно и кнопка закрытия не находятся на одной странице просмотра. Таким образом, вышеизложенное не будет работать в соответствии с тем, что я думаю, но я все равно попытаюсь вернуться к этому. Спасибо за ответ. – Shivam657