2016-08-02 2 views
0

Я пытаюсь скрыть/показать ссылку «Изменить» в каждой строке данной сетки. В основном только несколько пользовательских ролей имеют доступ к Модифицировать информацию. Я написал метод ActionResult в классе контроллера, чтобы проверить доступ пользователя и вернуть значение Boolean. Основываясь на True/False, мне нужно скрыть/показать ссылки «Изменить» в сетке. Код проекта написан в MVC CSHTML. Пожалуйста, предложите, как это можно достичь. Я попытался использовать JQuery, но я могу скрыть столбец Edit только для первой строки сетки. Ниже приведен код в CSHTML и JQuery.Скрыть/Показать Редактируемые ссылки в коде webGrid CSHTML

CSHTML Код

<table border="1" cellpadding="0" cellspacing="1" style="width: 90%;"><tr> 
<td> 
@grid.GetHtml(tableStyle: "webGridMedium", 
headerStyle: "header", 
alternatingRowStyle: "alt", 
selectedRowStyle: "select", 
columns: grid.Columns(
grid.Column("BeginDate", "Begin Date", style: "description"), 
grid.Column("Status", "Status", style: "description"), 
grid.Column("", style: "description10", format: @<a class="edit-status" id="btnEditStatus" href="">Edit</a>) 
)) 
</td> 
</tr> 
</table> 

JQuery Код: Данные параметра логическое значение Я получаю его из класса контроллера.

<script> 
     $(document).ready(function() { 
    checkAccess();  
    }  
     function checkAccess() { 
      //  debugger; 
      $.ajax({ 
       url: '/Employee/CheckAccess', 
       type: 'POST', 
       data: {}, 
       success: function (data) { 
        if (data == false) { 
         document.getElementById("btnEditStatus").style.visibility = "hidden"; 

        } 
        else if (data = true) { 
         document.getElementById("btnEditStatus").style.visibility = ""; 

        } 
       }, 
       error: (function (result) { 
        alert("Failed access! Please contact administrator."); 
       }) 
      }) 
     } 
</script> 

ответ

0
<script>  
function checkAccess() { 
     // debugger; 
    $.ajax({ 
     url: '/Application/CheckAccess', 
     type: 'POST', 
     data: {}, 
     success: function (data) { 
      if (data == false) { 
       $('.modaltable tr').each(function (i, row) { 
        $(this).find('.edit-status').hide(); 
       }); 
           }  
      else if (data = true) {  
         // your code  
            } 
     }, 
     error: (function (result) { 
      alert("Please contact IT administrator for access."); 
     }) 
    }) 
}  
</script> 
+0

написать каждую функцию и скрыть столбец с помощью $ (это) .find скрыть() (»редактировать-статус.). – user2880032

+0

Это сработало отлично http://stackoverflow.com/questions/12937450/hide-webgrid-column-edit-link-based-on-condition-in-mvc3 – user2880032

Смежные вопросы