【发布时间】:2018-12-25 05:25:56
【问题描述】:
我正在将一些 ID 加载到 ViewBag 以在相关视图中使用它的数据。
var userAccountList =serviceResponse.RoleList.Select(x => x.RoleId).ToList();
ViewBag.UserRoles = userAccountList;
这个结果是List<string>。
在视图中,Kendo Grid 从 json 检索数据。
@(Html.Kendo().Grid<RoleModel>().Name("KendoGrid").Scrollable().Columns(columns =>
{
columns.Bound(x => x.Id)
.HtmlAttributes(new { style = "text-align:center;"})
.ClientTemplate("# if ( Id != '3'){
#<a class='k-button' href=\"/Role/Delete/#= Id #\"><span class='k-icon k-delete' style='pointer-events: none;'></span>Delete</a># }#")
.Width(85).Sortable(false)
.Hidden(!((BaseController)this.ViewContext.Controller).UserHasPermission(PermissionType.RoleDelete));
columns.Bound(x => x.Name);
....
}
当我使用'3' 等静态值时,我可以阻止显示用作删除按钮的a 标记。如果列表包含绑定到列的Id,我如何在此条件中使用ViewBag.UserRoles?
【问题讨论】:
-
我所做的是将值从控制器传递到视图的模型。然后添加一个隐藏输入(HiddenFor)。现在您可以创建一个返回
$('#myHidden').val()的 jquery 函数,例如 GetId。然后# if ( Id != GetId())... -
谢谢。你说的方式正是我想要的。
标签: asp.net-mvc kendo-grid kendo-asp.net-mvc