Попытка использовать Kendo DropDownList в ViewComponent с RazorPages, но получить 404 - PullRequest
0 голосов
/ 04 ноября 2019

Я все еще мокну от RazorPages, но уже несколько лет пользуюсь ASP.Net. Большинство примеров ссылаются на контроллеры MVC и действия. Да, я знаю, что бритва похожа на «мини-контроллер», а именованные методы-обработчики эквивалентны действиям. Однако, я не могу заставить свой ViewComponent выполнить метод, на который я ссылаюсь из DropDownList.

В представлении моего VC у меня есть DropDownList, который пытается использовать Ajax для привязки к одному изметоды-обработчики.

    @(Html.Kendo().DropDownList()
              .Name("Customer")
              .DataTextField("Name")
              .DataValueField("Value")
              .Events(e => e.Change("change"))
              .DataSource(source => source
                 .Ajax()    
                 .ServerOperation(true)
                 .Read(r => r.Url("./BoxTerminal?handler=BoxList"))
              )
              .Value("1")
              .AutoWidth(true)
    )

Этот компонент внедряется в его родительскую страницу, и когда я запускаю сеанс отладки, я получаю точку останова для достижения в моем методе InvokeAsync VC, но когда ответ завершается, я смотрю наконсоль разработчика в браузере, и я получил ошибку 404, которая пытается вызвать метод BoxList

в моем BoxTerminal ViewComponent. Точка останова здесь никогда не получает удар. Глядя в консоль разработчика, я вижу 404http://localhost:60101/BoxTerminal?handler=BoxList

Сам ViewComponent находится в папке Pages| __Components| __BoxTerminal.cs| __Default.cshtml

public JsonResult OnPostBoxList([DataSourceRequest] DataSourceRequest request)
{
    List<SimpleStringPair> retval = new List<SimpleStringPair>();
    retval = ... do some stuff, return a list
    return new JsonResult(retval.ToDataSourceResult(request));
}
...