В MVC метод для контроллера не вызывается изнутри шаблона редактора - PullRequest
0 голосов
/ 19 июня 2019

Мне нужно инициализировать Kendo.ComboBox внутри Editor 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);
}

Этот метод не вызывается.

Что я делаю не так?

1 Ответ

0 голосов
/ 24 июня 2019

Ваш файл _PropertyNameEditor находится внутри папки Views> Shared> EditorTemplates?

Также вам может потребоваться сделать [UIHint ("_ PropertyNameEditor")] для атрибута в вашей ViewModel.

...