2014-12-11 2 views
0

검도 스케쥴러의 사용자 정의 편집기로 부분보기를 사용하고 싶습니다.검도 스케쥴러에서 부분보기 사용

HTML 코드를 맞춤 편집기 템플릿 용 문자열로 사용할 수 있음을 알고 있습니다.

는 사용자 정의 편집기 템플릿으로 부분보기를 사용하기 위해 내가 좋아하는 ::

.Editable(x=>x.Template(@Html.Partial('PartialViewEditor'))) 

뭔가를하려하지만이 허용되지 않습니다. 부분 뷰를 검도 편집기 템플릿으로 사용하려면 어떻게해야합니까? 미리 감사드립니다.

답변

0

이 시도 :

.Editable(x=>x.Template("#= getCustomTemplate() #") 


<script> 
function getCustomTemplate() 
{ 
    var html = ''; //design your HTML here and treat this script like your partial view 

    return html; 
} 
</script> 
+0

이것을 사용하면 부분 뷰를 서버 측에서 렌더링하여 전달할 수 있습니다. 하지만이 경우에도 편집기 팝업은 AJAX 게시가 성공한 후에 만 ​​열어야합니다. – Rahul

0

나는 검도 스케줄러 부분 뷰를 사용하는 다른 방법을 발견했다. .Editable(x=>x.Template("#= getCustomTemplate() #")을 사용할 수 있지만 Kendo Scheduler Editor의 기본 바인딩 템플릿이 사용됩니다.

하지만 모든 바인딩이 포함 된 내 자신의 부분보기를 사용하고 싶습니다. 그래서 나는 그것을 달성하기 위해 단계에 따라 통과하기로 결정했습니다 :

1 단계) \ 당신은 스케줄러 이벤트의 기본 기능을 제한 할 수 있습니다 :

.Events(e => 
       { 
        e.Edit("EventScheduler_edit"); 
       }) 

2 단계)로 검도 스케줄러를 사용하여 편집 이벤트 자바 스크립트의 e.preventDefault(); 를 사용하여 편집 한 다음 당신은 강하게 받기

그게 전부에게 ::

function EventScheduler_edit(e) { 
     //Prevent to Popup scheduler Editor 
     e.preventDefault(); 
     //And open custom editor instead 
     kendo.ui.progress($("#loading1"), true); 
     $.ajax({ 
      type: 'POST', 
      url: rootUrl("Calendar/GetPartialViewForEventEditor"), 
      data: {EventID:e.event.EventID}, 
      success: function (response) { 
       $("#EventEditorWindow").empty(); 
       $("#EventEditorWindow").html(response); 

       $popup1 = $("#EventEditorWindow"); 
       var wnd1 = $popup1.kendoWindow({ 
        actions: ["Close"], 
        modal: true, 
        resizable: false, 
        animation: false 
       }).data('kendoWindow').center().open(); 

       var tmp = $popup1.data("kendoWindow"); 
       tmp.title("Event window"); 
       //EventScheduler_edit 
       $("#EventEditorWindow").find("#Start").data('kendoDateTimePicker').value(e.event.start); 
       $("#EventEditorWindow").find("#End").data('kendoDateTimePicker').value(e.event.end); 
       kendo.ui.progress($("#loading1"), false); 
      } 
     }); 
    }; 
으로 서버 측에서 그것을 부분보기를 입력하기 위해 자신의 아약스 요청을 할 수 있습니다!