Asp.net mvc 3 Telerik Kendo ui网格显示html单元格而不是生成的html控件
我正在尝试使用asp.NETMVC3中新的剑道UI网格 我有一个表该表是从asp.net mvc 3中的控制器自动生成的 并用Kendo.ui网格显示它 但是,我在单元格中使用html代码,而不是html控件 例如:Asp.net mvc 3 Telerik Kendo ui网格显示html单元格而不是生成的html控件,asp.net-mvc-3,kendo-ui,Asp.net Mvc 3,Kendo Ui,我正在尝试使用asp.NETMVC3中新的剑道UI网格 我有一个表该表是从asp.net mvc 3中的控制器自动生成的 并用Kendo.ui网格显示它 但是,我在单元格中使用html代码,而不是html控件 例如: 它显示在单元格中:剑道网格自动编码网格的内容,这就是为什么您会得到文本,您需要添加剑道网格的模板功能。 在下面的代码中,我在剑道网格的单元格内创建了一个文本框。 { 字段:“总计”, 标题:“总数”, 宽度:“40px”, 模板:“” }, 在模型绑定剑道网格剃刀Html页面中使用
它显示在单元格中:
剑道网格自动编码网格的内容,这就是为什么您会得到文本,您需要添加剑道网格的模板功能。
在下面的代码中,我在剑道网格的单元格内创建了一个文本框。
{
字段:“总计”,
标题:“总数”,
宽度:“40px”,
模板:“”
},
在模型绑定剑道网格剃刀Html页面中使用此代码
@Html.Kendo().Grid(Model).Name("GridName").Columns(col =>{
col.Bound(m => m.ID);
col.Bound(m => m.Name);
col.Template(@<text>
@Html.Raw(HttpUtility.HtmlDecode( item.Text))
</text>);
})
@Html.Kendo().Grid(Model).Name(“GridName”).Columns(col=>{
col.Bound(m=>m.ID);
col.Bound(m=>m.Name);
列模板(@
@Html.Raw(HttpUtility.HtmlDecode(item.Text))
);
})
你能在创建kendoUI网格的地方发布Javascript代码吗?这是我的脚本:$(document).ready(function(){$(“#calendrierMatch”).kendoGrid({});});您好nemesv,谢谢您的建议,我正在使用$(“#grid”).kendoGrid()创建我的网格,列和数据直接从视图上的表中获取(使用and),以便使用encoded:false选项,这意味着每次我都需要在kendoGrid调用中声明表的所有列?根据当前版本中的文档,没有其他方法全局关闭编码。因此,我担心您需要指定所有列,并分别关闭编码…我尝试了最新的测试版,现在可以得到呈现的html,但是,无法对列进行排序,即使使用sortable:true选项,我也可以看到上/下图标,但单击结果时,什么都没有,你见过类似的东西吗?我还没有试过beta版,我不知道为什么排序不起作用,但我认为这是另一个问题。无论如何,感谢nemesv之前的建议,它会在某个阶段帮助我
$(document).ready(function(){
$("#grid").kendoGrid({
//...
columns: [
{
field: "Column containing HTML",
encoded: false
}
]
});
});
You need to add the template feature of kendo grid.
In the below code i have created a text box inside the cell of kendo grid.
{
field: "Total",
title: "Total",
width: "40px",
template: "<input type='text' class=\"quantity_total\" id='txtTotal_${ItemId}'
name='txtTotal_${ItemId}' maxlength='8' onkeypress = 'return
fnCheckNumeric_total(event,this.id)' />"
},
@Html.Kendo().Grid(Model).Name("GridName").Columns(col =>{
col.Bound(m => m.ID);
col.Bound(m => m.Name);
col.Template(@<text>
@Html.Raw(HttpUtility.HtmlDecode( item.Text))
</text>);
})