0

Template と ClientTemplate を同時に使用することはできますか?

テンプレートで bool チェックを行いたいのですが、バインディングがない場合に ClientTemplate のチェックボックスに渡す方法がわかりません。

    @(Html.Telerik().Grid(Model.Item)
     .Name("Grid")
     .Columns(column =>
       column.Template(x => x.ItemId.Equals(Model.Id))
             .ClientTemplate("<input type='checkbox' checked='<#=????? #>' disabled />");
    })

多分これを達成する別の方法がありますか?

4

2 に答える 2

1

Template はサーバー バインディングに使用され、ClientTemplate は ajax または Web サービス バインディングに使用されます。サーバー バインドを使用している場合、ClientTemplate は使用されません。ajax バインディングを使用している場合、テンプレートは使用されません。ClientTemplate では、<#= #> を使用して、サーバー側のテンプレートと同様の方法でデータバインドされた式を埋め込むことができます。

.ClientTemplate("<input type='checkbox' checked='<#= (ItemID == Id) #>' disabled />")

条件に入れるものは限られています。bool と int の比較は正常に使用できましたが、string の比較は使用できませんでした。

于 2012-07-19T16:18:05.087 に答える
1

この特定のケースでは、を使用する必要はありませんTemplate。ClientTemplate の埋め込みデータバインド機能 (Daniel が述べたように) を使用して、目的を達成できます。

@(Html.Telerik().Grid(Model.Item)
  .Name("Grid")
  .Columns(column =>
    column.ClientTemplate("<input type='checkbox' checked='<#=ItemId == " + Model.Id + "#>' disabled />");
})

このようにしてModel.Id、サーバーから変数を渡しましたが、実際の比較はクライアント側で Javascript を使用してダウンしています。

于 2013-01-16T15:10:09.163 に答える