我在ASP.NET MVC4视图中有一个Telerik Grid,它抛出了一个非常奇怪的错误。我有这个代码在应用程序的其他区域工作没有问题...删除了IsActive属性的客户端模板代码仍然会发生错误。当我删除.Filterable(...)
电话时,错误就消失了。
没有为类型定义二元运算符Equal 'System.Boolean'和'System.Object'。
@(Html.Telerik().Grid(Model)
.Name("Grid")
.DataKeys(keys =>
{
keys.Add(c => c.Id);
})
.Columns(columns =>
{
columns.Bound(c => c.Id).Hidden();
columns.Bound(c => c.Name).Width(150);
columns.Bound(c => c.IsActive).Width(100).Title("Active?")
.HeaderHtmlAttributes(new { style = "text-align: center;" })
.ClientTemplate("<center><input type='checkbox' disabled='disabled'
name='IsActive' <#= IsActive? checked='checked' : '' #> /></center>");
})
.Filterable(f => f.Filters(fi => fi.Add(fis => fis.IsActive)))
)
public class Organization
{
public Organization()
{
IsActive = true;
}
public int Id { get; set; }
[Required]
[MinLength(5)]
[MaxLength(300)]
public String Name { get; set; }
[Required]
public bool IsActive { get; set; }
}
答案 0 :(得分:2)
正如您已经发现问题出在您的Filterable
因此,在您添加默认过滤器时,您始终需要指定“运算符”我认为您需要IsEqualTo(true)
.Filterable(f => f.Filters(fi => fi.Add(fis => fis.IsActive).IsEqualTo(true)))