Asp.net mvc 4 如何在剑道UI网格自定义弹出模板中显示值

Asp.net mvc 4 如何在剑道UI网格自定义弹出模板中显示值,asp.net-mvc-4,grid,kendo-ui,kendo-grid,kendo-asp.net-mvc,Asp.net Mvc 4,Grid,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我有一个带有简单剑道UI网格的MVC视图: @(Html.Kendo().Grid(Model.Positions) .Name("Test") .Columns(columns => { columns.Bound(p => p.Name); columns.Command(command => { command.Edit(); }); })

我有一个带有简单剑道UI网格的MVC视图:

@(Html.Kendo().Grid(Model.Positions)    
    .Name("Test")
    .Columns(columns =>
    {
        columns.Bound(p => p.Name);                
        columns.Command(command => { command.Edit(); });        
    })       
    .Editable(ed=>ed.Mode(GridEditMode.PopUp).TemplateName("Position").Window(w => w.Width(600)).Window(w => w.Title("Byrå")))

    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(10)
        .Model(model => model.Id(p => p.Id))      
        .Update(update => update.Action("Update", "Office"))        
        .Read(read => read.Action("Get", "Office")
     )
   )
 )
在Shared/EditorTemplate下,我在Shared/EditorTemplates下添加了position.cshtml。“编辑”将按应打开,如果我使用以下示例,则一切正常:

@Html.TextBoxFor(model => model.Name)
但是,我不能使用LabelFor,因为它将显示属性的名称而不是值。网格似乎也将弹出窗口与网格一起实例化。单击编辑时,TextBoxFor中的值会更新,但如果使用@Model.Name,则不会更新。它总是空的

我还尝试根据其中一个字段的值隐藏一些字段,但由于我无法使用@Model,因此无法使用


有人知道如何避开这个问题吗?

剑道对我的一个回答是这样的。在我的情况下,我还没有让它起作用,但它可能会帮助你。如果你对这个问题提出了不同的解决方案,你能分享一下吗

在自定义编辑器中

文本/javascript

function sendName() {
    var grid = $('.k-grid').data().kendoGrid;
    var tr = grid.tbody.find('.k-grid-edit-row');
    var model = grid.dataItem(tr);
    var result = {
        name: model.Name
    };
    return result;
}
他们检查html并首先分配网格,然后分配网格的选定行,然后将该行的字段映射到网格的列