0

是否可以同时使用模板和客户端模板?

我想在模板中进行布尔检查,但不知道在没有绑定时如何将其传递给 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

模板用于服务器绑定,而 ClientTemplate 用于 ajax 或 Web 服务绑定。如果您使用服务器绑定,则不使用 ClientTemplate。如果您使用 ajax 绑定,则不使用模板。使用 ClientTemplate,您可以使用 <#= #> 以类似于服务器端模板的方式嵌入数据绑定表达式。

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

您放入条件的内容是有限的。我已经能够成功地使用 bool 和 int 比较,但不能使用字符串比较。

于 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 回答