Как добавить операторы IF внутри декларации сетки кендо - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь использовать один файл представления для двух страниц, функциональность на страницах очень похожа, но немного отличается, поэтому я хотел бы использовать ту же сетку, но сделать оператор if в источнике данных, чтобы проверитьроль пользователя:

.DataSource(datasource => datasource
            .Ajax()
     if (User.IsInRole("Admin")) {
            .Read(read => read.Action(MVC.ControllerName.ActionNames.Read, MVC.Controller.Name).Data("function"))
     } else {
            .Read(read => read.Action(MVC.OtherController.ActionNames.OtherRead, MVC.Controller.Name).Data("function"))
     }

Я получаю кучу синтаксических ошибок (например), ожидаемых;ожидается).

Сетка объявлена ​​с использованием @ (Html.Kendo (). Grid) ....

1 Ответ

0 голосов
/ 22 мая 2018

если вы измените свой код на что-то вроде этого:

.DataSource(datasource => datasource
            .Ajax()
            .Read(read => {
                             if (User.IsInRole("Admin")) {
                              read.Action(MVC.ControllerName.ActionNames.Read, 
                                      MVC.Controller.Name).Data("function");
                            }
                            else
                            {
                            read.Action(MVC.OtherController.ActionNames.OtherRead, 
                                       MVC.Controller.Name).Data("function");
                            }

                           }

        )

, тогда это должно сработать для вас.Важной частью является размещение бита decision внутри раздела чтения или даже в разделе данных верхнего уровня, если у вас разные обновления и т. Д.

...