Я использую Kendo UI для ASP.NET Core в веб-приложении ASP.NET Core MVC.
Я следовал этому примеру для использования пользовательского шаблона редактора для моего планировщика пользовательского интерфейса Kendo.
Я убедился, что моя модель EventViewModel реализует ISchedulerEvent.
Я создал шаблон редактора (с EventViewModel) точно так же, как в Views/Events/EditorTemplates/CustomEditorTemplate.cshtml. (Я начинаю с простого, всего с двумя полями, чтобы убедиться, что это работает).
@model EventViewModel
@{
//required in order to render validation attributes
ViewContext.FormContext = new FormContext();
}
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label asp-for="Title" class="control-label"></label>
<input asp-for="Title" class="form-control" />
<span asp-validation-for="Title" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Description" class="control-label"></label>
<input asp-for="Description" class="form-control" />
<span asp-validation-for="Description" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
@{
ViewContext.FormContext = null;
}
Я также создал представление для размещения самого планировщика (с EventViewModel): Views/Events/Index.cshtml:
@(Html.Kendo().Scheduler<EventViewModel>()
.Name("scheduler")
.Height(600)
.Views(views => {
views.DayView();
views.WeekView(weekView => weekView.Selected(true));
views.MonthView();
views.AgendaView();
})
.Editable(editable => {
editable.TemplateName("CustomEditorTemplate");
})
.Timezone("Etc/UTC")
.DataSource(d => d
.Model(m => {
m.Id(f => f.Id);
m.Field(f => f.Title).DefaultValue("No title");
})
.Read("Events_Read", "Events")
.Create("Events_Create", "Events")
.Destroy("Events_Destroy", "Events")
.Update("Events_Update", "Events")
)
)
Указанный CustomEditorTemplate полностью игнорируется. В итоге я получаю окно, в котором есть все поля, которые есть в ISchedulerEvent. Это еще не работает для ASP.NET Core MVC?