我正在为我的网格的弹出编辑器使用自定义模板,所以我只能显示可以编辑的字段。在这个模板中,我想使用一个自动完成输入。我已经让它“工作”了:控件位于编辑器模板中,并且执行自动完成应该执行的操作。
但是,当我保存更改时,该框不会保存。如何确保 Kendo 仍将其用作模型的字段,同时也用作自动完整控件?
网格:
@(Html.Kendo().Grid<Receipt>()
.Name("GridReceipts")
.Columns(columns => {
columns.Bound(o => o.Id);
columns.Bound(o => o.Supplier);
columns.Bound(o => o.Status);
columns.Command(c => {
c.Edit().Text(" ");
c.Destroy().Text(" ");
});
})
.DataSource(d => d
.WebApi()
.Model(m => m.Id(o => o.Id))
.Create(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts" })))
.Read(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts" })))
.Update(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts", id = "{0}" })))
.Destroy(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts", id = "{0}" })))
)
.ToolBar(toolbar => toolbar.Create())
.Editable(e => e.Mode(GridEditMode.PopUp).TemplateName("Receipt"))
.Deferred()
)
自动完成(在编辑器模板中):
@model Receipt
<div class="k-edit-label">@Html.LabelFor(m => m.Supplier)</div>
<div class="k-edit-field">
@(Html.Kendo().AutoCompleteFor(m => m.Supplier)
.Name("Supplier")
.DataSource(s => {
s.Read("Autocomplete", "Suppliers");
})
.DataTextField("Name")
.MinLength(2)
)
</div>