我在ASP.NET Core MVC Web应用程序中使用Kendo UI for ASP.NET Core。
我跟着this example为我的Kendo UI Scheduler使用自定义编辑器模板。
我确保我的EventViewModel实现了ISchedulerEvent。
我创建了一个编辑器模板(w / EventViewModel),就像在Views / Events / EditorTemplates / CustomEditorTemplate.cshtml下一样。 (我只用2个字段开始简单,以确保它有效。)
@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;
}
我还创建了一个视图来放置Scheduler(w / EventViewModel)本身: 查看/活动/ 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不起作用吗?