我在asp.net MVC中使用Kendo ui网格。是否可以根据用户角色隐藏/显示网格列?感谢
答案 0 :(得分:9)
最简单的方法是:
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Id);
columns.Bound(p => p.Name);
if(User.IsInRole("Admin")) {
columns.Bound(p => p.AdminOnlyInfo);
}
})
...
)
答案 1 :(得分:4)
您可以使用hidden指定列是否可见,因此一个选项可能是根据用户角色设置变量。例如,在控制器中
ViewBag.CanDisplay = true; // or omit if the user does not have permission
并在视图中
var canDisplay = '@ViewBag.CanDisplay' | false;
$("#grid").kendoGrid({
columns: [
{ field: "firstProperty" },
{ field: "anotherProperty", hidden: !canDisplay }
],