Я пытаюсь скрыть/показать ссылку «Изменить» в каждой строке данной сетки. В основном только несколько пользовательских ролей имеют доступ к Модифицировать информацию. Я написал метод 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>
написать каждую функцию и скрыть столбец с помощью $ (это) .find скрыть() (»редактировать-статус.). – user2880032
Это сработало отлично http://stackoverflow.com/questions/12937450/hide-webgrid-column-edit-link-based-on-condition-in-mvc3 – user2880032