提交按钮按下时未保存Telerik Grid Client模板数据

时间:2012-04-30 06:05:31

标签: jquery asp.net-mvc asp.net-mvc-3 razor telerik

我在项目中使用telerik控件时,我使用客户端模板作为列,但数据显示在客户端模板中,而不是保存按下提交按钮时,它显示空模板。以下是我的代码

@(Html.Telerik().Grid<edairy.Models.ReceiptsEntry.mst_stock_dtl>()
    .Name("gdStkDetails")
            .ToolBar(commands =>{ commands.Insert();
               commands.SubmitChanges();
            } )


           .DataKeys(keys => keys.Add(c => c.Trans_No))
             .Pageable(paging =>
                    paging.PageSize(10)
                          .Style(GridPagerStyles.NextPreviousAndNumeric)
                          .Position(GridPagerPosition.Bottom))
                          .Sortable(sorting => sorting
                          .SortMode(GridSortMode.MultipleColumn))
                                  .ClientEvents(e => e.OnDataBound("onDataBound"))

                          .DataBinding(databing => databing.Ajax()
                                                           .Select("SelectStock", "ReceiptsEntry")
                                                           //.Insert("AddStock", "ReceiptsEntry")
                                                           .Update("Editproduct", "ReceiptsEntry")
                                                           //.Delete("DeleteStock", "ReceiptsEntry")
                                                           )


           .Columns(columns =>
            {
               columns.Bound(c => c.Trans_No).Title("Transaction No").Width(100);
               columns.Bound(c => c.Product_cd).Title("Product Code").EditorTemplateName("GrdDropdown").Width(150);
               columns.Bound(c => c.Prouduc_desc).Title("Product Desc").EditorTemplateName("text").Width(100);
               columns.Bound(c => c.Prouduc_desc).Title("Product Desc").ClientTemplate("<input type='text' id='text' name='ProductDesc' /> ").Width(100);
               columns.Bound(c => c.Receipt_Quantity).Title("Receipt Qty").Width(150);
            columns.Command(commands =>
            {
           // commands.Edit();
            commands.Delete();
              });
            })

            .Editable(editing => editing.Mode(GridEditMode.InCell))
            //.Editable(editing => editing.Mode(GridEditMode.PopUp))

                )

                </text>);
        })
        .SelectedIndex(0)
        .Render();
} 

请在这个问题上帮助我。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试将您的操作更改为以下内容:

[AcceptVerbs(HttpVerbs.Post)]
        [GridAction]
public ActionResult Editproduct([Bind(Prefix = "updated")]IEnumerable<edairy.Models.ReceiptsEntry.mst_stock_dtl> data)

小心,当您更改网格上的数据时,您需要确保焦点离开文本框,因为网格需要知道文本框上的值已更改..尝试它。

希望这一点,帮助。