1

私はエンティティドキュメントを持っています:

public class Document : EntityBase
{
    public Guid ID { get; set; }
    public string Description { get; set; }
    public string SourceLink{ get; set; }
    public bool IsFile { get; set; }
}

剣道グリッドのインライン編集モードを使用しています。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(...)
    //...
)

ステートメントでこのifステートメントを機能させる可能性はあり.Modelますか? または、そのような依存する編集可能な機能を使用することは一般的に可能ですか? 多分別の方法で?

4

1 に答える 1

0

別の方向に進むことを決めたようです。その列のテンプレートを使用して、フィールドを無効にするか、IsFile. それ以外の場合、編集可能性は行レベルではなくデータソースに設定されているため、現在の回避策に固執していると思います。

ただし、もう1つの考慮事項-エディターの代わりに共有エディターテンプレートを使用してラベルを書き出すことができる場合があります...

于 2013-08-01T18:26:36.103 に答える