10

我正在尝试使用来自 asp.net mvc 3 的新 Kendo UI 网格。

我有一个表,该表是从 asp.net mvc 3 中的控制器自动生成的。

并用 Kendo.ui 网格显示它。

但是,我在单元格中使用 html 代码而不是 html 控件

例子:

它显示在单元格中:<input checked="checked" class="check-box" disabled="disabled" type="checkb..视图中的代码不是输入,而是@html.input

或者<a href="/Admin/Edit">Edit</a> | <a href="/Admin/Details">Details</a> | <a href="/Adm代替链接(视图中的代码是@Html.actionLink)

我怎样才能让它编码html代码?

这是我的脚本:

$(document).ready(function() {
    $("#calendrierMatch").kendoGrid({

    });
});

谢谢

4

3 回答 3

26

KendoUI Grid 自动对网格的内容进行编码,这就是为什么您获取文本<input type= ...而不是实际的输入控件的原因。

encoded您可以使用选项禁用给定列的编码(请参阅文档)

编码:布尔(默认:真)指定是否对列内容进行转义。如果数据包含 HTML 标记,则禁用编码。

所以你需要类似的东西:

 $(document).ready(function(){
      $("#grid").kendoGrid({
      //...
        columns: [
           {
               field: "Column containing HTML",
               encoded: false
           }
        ]          
      });
 });
于 2012-07-04T10:14:53.623 回答
1

在模型绑定剑道网格 Razor 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>);
})
于 2014-09-26T01:34:51.190 回答
0
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)'  />"  

},
于 2014-01-22T09:45:30.360 回答