0

我需要Kendo.ComboBoxEditor Template. 我已将模板定义如下:

<script>
    function GetReportID() {
        return {
            reportID: 8
        }
    }
</script>

@(Html.Kendo().ComboBox()
                    .DataValueField("ReportPropertyID")
                    .DataTextField("PropertyName")
                    .DataSource(d => d.Read(r => r.Action("PopulateReportProperty", "TestTicketReportProperty").Data("GetReportID()")))) 

此模板呈现在Kendo.Grid:

columns.Bound(p => p.ReportPropertyData).ClientTemplate("#=ReportProperty.PropertyName#").EditorTemplateName("_PropertyNameEditor").Sortable(false).Width(180);

控制器内部需要调用的方法:

[HttpPost]
public ActionResult PopulateReportProperty([DataSourceRequest] DataSourceRequest request, int reportID)
{
    var reportProperty = TicketReportPropertyRepository.GetReportPropertyEntityRepository(reportID);
    ViewData["defaultPropertyEntity"] = reportProperty.First();
    return Json(reportProperty.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}

不调用此方法。

我究竟做错了什么?

4

1 回答 1

0

您的 _PropertyNameEditor 文件是否位于 Views>Shared>EditorTemplates 文件夹中?

此外,您可能需要对 ViewModel 中的属性执行 [UIHint("_PropertyNameEditor")]。

于 2019-06-24T20:58:37.777 回答