如何在 kendo 网格声明中添加 IF 语句
How to add IF statements inside of a kendo grid declaration
我正在尝试为两个页面使用一个视图文件,页面中的功能非常相似但略有不同,因此我想使用相同的网格但在数据源中执行 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)....
声明的
如果您将代码更改为如下内容:
.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
位放在读取中,如果您有不同的更新等,甚至放在顶层数据部分。
我正在尝试为两个页面使用一个视图文件,页面中的功能非常相似但略有不同,因此我想使用相同的网格但在数据源中执行 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)....
声明的如果您将代码更改为如下内容:
.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
位放在读取中,如果您有不同的更新等,甚至放在顶层数据部分。