我在Telerik Grid中使用复选框。 以下是我的代码
@(Html.Telerik().Grid<ProductModel>(Model.Products.Data)
.Name("products-grid")
.Columns(columns =>
{
columns.Bound(x => x.Id)
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= Id #>' />")
.Title("")
.Width(36)
.HtmlAttributes(new { style = "text-align:center" });
columns.Bound(x => x.Id);
columns.Bound(x => x.Name);
columns.Bound(x => x.Published)
.Width(100)
.Template(x => x.Published.ToString().ToLower())
.Centered();
})
.Pageable(settings => settings.Total(Model.Products.Total).PageSize(gridPageSize).Position(GridPagerPosition.Both))
.DataBinding(dataBinding => dataBinding.Ajax().Select("ProductReport", "Product"))
.ClientEvents(events => events.OnDataBinding("onDataBinding"))
.EnableCustomBinding(true)
)
我只是在复选框列中看到了ID而不是复选框。谁能告诉我我的代码有什么问题?
我检查了这个question以及其他一些但是他们回答了我的问题..
答案 0 :(得分:0)
问题在于您的代码定义,您只是在ajax调用模式下定义模板(使用clientTemplate方法):
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= Id #>' />")
但是你也应该定义服务器端模板,这个模板用于你的第一个直接请求:
.Template(@<text><input type='checkbox' name='checkedRecords' value='@Item.Id' /></text>)