自定义编辑器模板不适用于ASP.NET Core Scheduler窗口小部件的Kendo UI

时间:2018-01-08 16:07:20

标签: c# asp.net-core kendo-ui telerik kendo-ui-mvc

我在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不起作用吗?

1 个答案:

答案 0 :(得分:0)

正如您在this thread中所看到的,这种行为不是开箱即用的。

您可以自己处理双击事件,以打开与调度程序无关的弹出窗口。您可以看到示例here