下面是我的MVC视图中的Kendo网格-
@(Html.Kendo().Grid<MyProject.ViewModels.EmployeeViewModel>()
.Name("EmployeeGrid")
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("AdminEmployeeSearchData", "Employee").Type(HttpVerbs.Post))
.ServerOperation(true)
)
.Columns(columns =>
{
columns.Bound(p => p.EmployeeID).Title("ID")
columns.Bound(p => p.EmployeeName).Title("Employee Name")
columns.Bound(p => p.EmployeeSalary).Title("Employee Salary")
})
.AutoBind(false)
.Sortable()
.EnableCustomBinding(true)
)
这里,EmployeeSalary列应该对特定角色可见。
为了实现这一点,一个简单的方法是在视图中使用if…else块,在该视图中,我将验证当前用户角色,并基于该块显示/隐藏列。但是,一旦网格中有许多列,这必然会变得无法管理。
我正在考虑在视图模型的字段级别通过属性来实现这一点。也就是说,EmployeeSalary字段将具有一些属性,例如“isaccessible”,并且逻辑将位于属性级别。根据结果,kendo网格应该显示/隐藏该列。
有人能建议我们如何做到这一点吗?
另外,如果有什么不清楚的地方请告诉我。
对此,任何帮助都将不胜感激。
谢谢