Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 插入项目后,如何重新绑定Telerik MVC网格_Asp.net Mvc 3_Telerik_Telerik Grid - Fatal编程技术网

Asp.net mvc 3 插入项目后,如何重新绑定Telerik MVC网格

Asp.net mvc 3 插入项目后,如何重新绑定Telerik MVC网格,asp.net-mvc-3,telerik,telerik-grid,Asp.net Mvc 3,Telerik,Telerik Grid,我的Telerik MVC 3网格是通过Ajax填充的。插入一行后,我需要重新绑定网格。当我在OnSave()事件上执行重新绑定时,数据重新绑定仍在控制器操作上发送。我需要一些类似于未插入事件的东西 有什么想法吗?执行插入代码后,您可以通过从控制器返回一个网格模型来重新绑定网格: [AcceptVerbs(HttpVerbs.Post)] [GridAction] public ActionResult _ItemInsert(int id, MyObject obj) { //Rebi

我的Telerik MVC 3网格是通过Ajax填充的。插入一行后,我需要重新绑定网格。当我在OnSave()事件上执行重新绑定时,数据重新绑定仍在控制器操作上发送。我需要一些类似于未插入事件的东西


有什么想法吗?

执行插入代码后,您可以通过从控制器返回一个网格模型来重新绑定网格:

[AcceptVerbs(HttpVerbs.Post)]
[GridAction]
public ActionResult _ItemInsert(int id, MyObject obj)
{
    //Rebind the grid by sending the GridModel back
    return View(new GridModel(myData)); // where myData is your grid data
}
别忘了用
[GridAction]
装饰控制器

这假设您的网格具有如下ajax数据绑定声明:

dataBinding.Ajax()
.Insert("_ItemInsert", "Item" })

这取决于您添加行的方式。如果在网格中进行编辑,网格应自动更新。如果要从表单添加记录,可以使用客户端rebind()方法刷新网格数据


使用以下标准,

 @(Html.Telerik().Grid<PackageDetails>()
     .Name("gvPackage")
     .DataKeys(keys => keys.Add(k => k.PKG_CODE))
     .Columns(column =>
     {
        column.Bound(c => c.PKG_NAME).Title("Description").Width(200);
        column.Bound(c => c.MESG_UNIT).Title("Measuring Unit").Width(100);
        column.Bound(c => c.STD_QNT).Title("Quantity").Width(100);
        column.Bound(c => c.MODEL).Title("Model").Width(100);

        column.Bound(c => c.COMP_CODE).ClientTemplate("<input type='text' id='txtSerial<#=COMP_CODE#>' value='<#=PKG_NAME#>' />").Title("Serial Number");

        column.Bound(c => c.COMP_DESC).Title("Model").Width(100);
                                  })
        .DataBinding(dbBindings => dbBindings.Ajax().Select("_PackageDetailsLoad", "SalesDept"))

行动完成后,您可以呼叫:
jQuery(“gvPackage”).data(“t-grid”).ajaxRequest()

我的模型绑定到下拉列表(
[GridAction]
        public ActionResult _PackageDetailsLoad(string programID, string projectID, string packageID)
        {
            objLoginHelper = (LoginHelper)Session["LogInInformation"];

            return View(new GridModel<PackageDetails>
            {
                Data = salesDal.ReadPackageDetails(programID, projectID, packageID)
            });
        }
$('#ddlProgram').change(function () {          
     LoadPackageAndBindGrid();
 });

function LoadPackageAndBindGrid() {

            var params = {
                programID: $('#ddlProgram').val(),
                projectID: $('#ddlProject').val(),
                packageID: $('#ddlPackage').val()
            };

            var grid = $('#gvPackage').data('tGrid');
            grid.dataSource._data = [];               

            // Reload The Package Details
            grid.ajaxRequest(params);
        }