2014-01-03 3 views
1

Я пытаюсь получить пользовательский всплывающий редактор, работающий в нашей гриде, используя обертки MVC.Kendo MVC Wrapper - пользовательский редактор, если сетка

Обертка MVC является

Html.Kendo().Grid(@Model.ReferralCommentsViewModel.ReferralComments) 
    .Name("gridComment") 
    .Columns(columns => 
    { 
     columns.Bound(p => p.CommentValue).Title("Comment").Encoded(false).Width(450); 
     columns.Bound(p => p.CreatedBy).Title("Created By").ClientTemplate("#= kendo.toString(CreatedBy) #").Width(100); 
     columns.Bound(p => p.CreatedDate).Title("Create Date").ClientTemplate("#= kendo.toString(CreatedDate, \"MM/dd/yyyy\") #").Width(70); 
     columns.Command(command => { command.Edit().Text(" "); }).Title("Edit").Width(20); 
     columns.Command(command => { command.Destroy().Text(" "); }).Title("Delete").Width(20); 
    }) 
    .ToolBar(toolbar => toolbar.Create().Text("Add new Comment")) 
    .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("popupEditorTemplate").Window(w=>w.Title("Add/Edit Comment"))) 
    .Resizable(resize => resize.Columns(true)) 
    .Sortable() 
    .Selectable() 
    .HtmlAttributes(new { style = "height:165px;" }) 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .PageSize(20) 
     .AutoSync(false) 
     .Batch(true) 
     .Events(events => events.Error("error_handler")) 
     .Model(model => model.Id(p => p.CommentID)) 
     .Create(update => update.Action("EditingPopup_Create", "Referral")) 
     .Read(read => read.Action("EditingPopup_Read", "Referral")) 
     .Update(update => update.Action("EditingPopup_Update", "Referral")) 
     .Destroy(update => update.Action("EditingPopup_Destroy", "Referral")) 

    ) 

Шаблон редактор есть -

<script id="popupEditorTemplate" type="text/x-kendo-template"> 
    <label for="Created Date">Created Date:</label><Input data-bind= "value: CreatedDate" readonly="true" /> 
    <label for="Created By">CreatedBy:</label><Input data-bind= "value:CreatedBy" readonly="true" /> 
    <label for="Created By">Comments:</label> 
    <textarea data-role="editor" 
         data-bind="value: CommentValue" 
         style="width: 280px"></textarea> 

</script> 

Независимо от того, какие варианты я использую, я не могу получить шаблон пользовательского редактирования для отображения во всплывающем окне. Отображается только всплывающее окно по умолчанию. Есть что-то очевидное?

Project - VS2012, MVC4

+0

Что не работает? Вы не получаете всплывающее окно? Или вы получаете всплывающее окно с каким-то неожиданным контентом? или экономия не работает? – nemesv

+0

Извините, что не закончил мой вопрос. Мы не можем получить настраиваемый шаблон редактирования всплывающих окон. –

+1

Предлагаю прочитать FAQ по этой опции конфигурации: http://docs.kendoui.com/getting-started/using-kendo-with/aspnet-mvc/helpers/grid/faq#how-do-i-create- а-заказ всплывающих окон редактора? – nemesv

ответ

1

TemplateName следует указать имя представления, которое является cshtml в EditorsTemplate папки, которые MVC автоматически осуществляет поиск.

Это не должно быть имя элемента html, который содержит шаблон Kendo (как и вы). Более подробную информацию о MVC EditorTemplates можно найти here.

+0

Для тех, кто, как и я, не знает, где находится папка EditorsTemplate, она находится в \ Views \ Shared \ EditorTemplates. –

Смежные вопросы