我在项目中使用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();
}
请在这个问题上帮助我。谢谢。
答案 0 :(得分:0)
尝试将您的操作更改为以下内容:
[AcceptVerbs(HttpVerbs.Post)]
[GridAction]
public ActionResult Editproduct([Bind(Prefix = "updated")]IEnumerable<edairy.Models.ReceiptsEntry.mst_stock_dtl> data)
小心,当您更改网格上的数据时,您需要确保焦点离开文本框,因为网格需要知道文本框上的值已更改..尝试它。
希望这一点,帮助。