我有一个实体文件:
public class Document : EntityBase
{
public Guid ID { get; set; }
public string Description { get; set; }
public string SourceLink{ get; set; }
public bool IsFile { get; set; }
}
我正在使用Kendo Grid InLine编辑模式。
现在,我想根据string SourceLink
修改属性bool IsFile
。
这意味着SourceLink
可以编辑IsFile==false
。
_documentsView.cshtml:
.DataSource(dataSource => dataSource
.Ajax()
.Events(events => events.Error("error"))
.Model(model =>
{
model.Id(o => o.ID);
model.Field(o => o.SourceLink).DefaultValue("");
model.Field(o => o.Description).DefaultValue("");
if (model.Field(o => o.IsFile) == true) {
model.Field(o => o.SourceLink).Editable(false)
}
else
{
model.Field(o => o.SourceLink).Editable(true)
}
}
)
//.Create(update => update.Action("GridEditingInlineCreate", "Document", new { area = "" }))
//.Read(...)
//...
)
是否有可能在.Model
语句中使用此if语句?
或者通常可以使用这种依赖可编辑的功能?
也许以另一种方式?
答案 0 :(得分:0)
听起来你决定走另一个方向。您可以考虑使用该列的模板来禁用该字段,或者将其作为基于IsFile
的标签写入。否则,我认为您坚持使用当前的解决方法,因为可编辑性是在数据源上设置的,而不是在行级别上。
另一个考虑因素 - 您可以使用共享编辑器模板来编写标签而不是编辑器......