2015-10-17 90 views
1

我们使用MS Identity Framework进行基于角色的授权。在我们的应用程序中,角色实际上是“权限”来访问或修改应用程序中的特定选项卡。该应用程序由一个主视图组成,其中有几个部分视图,每个视图代表一个选项卡。这些选项卡包含可编辑的Kendo网格。如何在剑道网格隐藏选项中表达条件

用户可以具有“仅查看”权限来访问选项卡或“查看和编辑”权限。具有查看和编辑权限的用户可以查看网格并通过“操作”列编辑其中的任何行。对于给定选项卡,具有“仅查看”权限的用户应该看到该选项卡中没有“操作”/命令列的网格。

我们已经通过控制器中的基于角色的认证限制了与网格中命令列相关的功能。但是,我们还希望为具有该特定网格的“仅查看”访问权限的用户从视图中移除该列。我正在考虑使用Hidden()选项来实现这一点。根据Telerik的说法,Kendo网格可以使用隐藏条件(“条件”)有选择地隐藏一列。但是,除了使用明确的布尔值之外,我无法找到使用该条件的示例。

C:

在网格绑定时的命令列(例如有人可以给用来写一个更明确的条件的语法的一个例子(例如,如果ViewBag [“clientRole”]为1)。命令(命令=> {command.Edit(); command.Destroy();})。隐藏( “条件”)

不幸的是,没有任何地方的条件语法的文档或示例

回答

0

该选项只接受布尔值,请您详细说明您的具体配置已经?

编辑:

控制器:

ViewData["hideColumns"] = true; 

网:

columns.Bound(p => p.OrderDescription).Hidden((bool)ViewData["hideColumns"]); 
您可以通过简单地铸造的ViewData(或者传递给此选项的值)为bool类型实现这一目标
+0

感谢您的回复!我编辑了这个问题来添加更多的上下文。 (顺便说一下,我们使用剃刀) – Tech

+0

非常感谢您的回应,Valdimir!如果在隐藏条件下创建更复杂的条件,我正在寻找可接受语法的一些定义。我们使用了类似的方法来创建布尔外的网格,然后直接在网格中使用布尔值。那现在起作用。谢谢! – Tech

+0

我很高兴这可以帮助你。您可以在网格中使用这种方法获取各种选项 - 只需检查该选项接受的类型即可。 –