2015-10-17 83 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

我很高興這可以幫助你。您可以在網格中使用這種方法獲取各種選項 - 只需檢查該選項接受的類型即可。 –