禁用剑道多选中的某些项目

时间:2019-01-08 00:51:31

标签: asp.net-mvc kendo-asp.net-mvc

我在mvc应用程序中有一个剑道多重选择。

                 @(Html.Kendo().MultiSelectFor(a => a.Roles)
                              .Value(Model.SelectedRoles)
                              .DataValueField("Id")
                              .DataTextField("RoleName")
                              .Placeholder("")
                              .HtmlAttributes(new { required = "" })
                              .DataSource(source =>
                              {
                                  source.Read(read => read.Action("GetRoles", "UserManagement"));
                              }))

使用GetRoles方法填充它,如下所示:

public List<RoleViewModel> GetRoles()
    {
        var roles = _context.Roles.AsNoTracking().ToList();
        var roleList = new List<RoleViewModel>();

        foreach(var role in roles)
        {
            roleList.Add(new RoleViewModel
            {
                Id = role.Id,
                RoleName = role.Name
            });
        }

        return roleList;
    }

现在我正在尝试禁用列表中的某些项目,我将如何去做?

我在考虑是否可以在RoleViewModel中添加bool ItemStatus并根据某些条件将该状态设置为true / false,但我不知道如何进行并将其实际应用于multiselect,以便说出这些项目将ItemStatus设置为false将会被禁用。

1 个答案:

答案 0 :(得分:0)

尝试在参考链接中找到以下提及的代码。 Check this link
有unselectableItem:true和unselectableItem:false的属性,可以提供帮助。