Asp.net mvc 4 为什么MVC Telerik网格自定义ajax绑定dos不在网格中加载结果,但ajax请求和json是可以的?
我有一个MVC web应用程序项目,我在一个弹出窗口中使用Telerik MVC网格。我想对ajax进行排序和筛选,然后在Telerik web站点中使用自定义绑定ajax。 当我运行我的应用程序并过滤某些内容或排序时,不会发生更改。我的网格数据是固定的,没有任何更改,但是当我通过fiddler检查时,ajax请求是确定的,json对象是完整的,它是确定的,但是网格数据是固定的。我不知道为什么,我的代码中有什么错误?提前感谢 这是我的视图代码:Asp.net mvc 4 为什么MVC Telerik网格自定义ajax绑定dos不在网格中加载结果,但ajax请求和json是可以的?,asp.net-mvc-4,telerik-grid,telerik-mvc,Asp.net Mvc 4,Telerik Grid,Telerik Mvc,我有一个MVC web应用程序项目,我在一个弹出窗口中使用Telerik MVC网格。我想对ajax进行排序和筛选,然后在Telerik web站点中使用自定义绑定ajax。 当我运行我的应用程序并过滤某些内容或排序时,不会发生更改。我的网格数据是固定的,没有任何更改,但是当我通过fiddler检查时,ajax请求是确定的,json对象是完整的,它是确定的,但是网格数据是固定的。我不知道为什么,我的代码中有什么错误?提前感谢 这是我的视图代码: @model IEnumerable<Raj
@model IEnumerable<Raja.DomainClasses.Entities.PartBooklet>
@using Telerik.Web.Mvc.UI;
@(Html.Telerik().Grid(Model)
.Name("PartBookletGrid")
.Columns(columns =>
{
columns.Bound(o => o.PartCode).Width(150).Title("کد کتابچه قطعه").Template(@<text><div><a class="popup" onclick="SendValuePartBooklet(this.innerHTML)">@item.PartCode</a></div></text>);
columns.Bound(o => o.Title).Width(100).Title("نام کتابچه قطعه");
columns.Bound(o => o.PartGroup1.GroupName).Title("دسته/گروه قطعه");
})
.DataBinding(dataBinding => dataBinding.Ajax().Select("_CustomBinding","Shared"))
.Pageable(settings => settings.Total((int)ViewData["total"]))
.EnableCustomBinding(true)
.Sortable()
.Filterable()
.Groupable()
.Localizable("fa-IR")
.Footer(false)
)
@{ Html.Telerik().ScriptRegistrar().Globalization(true); }
and this is controller:
public ActionResult PartBookletPopUp()
{
return PartialView();
}
//
private static int count;
[GridAction(EnableCustomBinding = true)]
public ActionResult _CustomBinding(GridCommand command)
{
IEnumerable data = GetData(command);
List<PartBooklet> partBookletList = new List<PartBooklet>();
foreach (var item in data)
{
partBookletList.Add((PartBooklet)item);
}
ViewData["total"] = GetCount();
data = (IEnumerable)_PartBookletService.ManuallyProxyCreationDisableForDBContext(partBookletList);
return View("PartBookletGridPopup", new GridModel
{
Data = partBookletList,
Total = count
});
}
private IEnumerable GetData(GridCommand command)
{
IQueryable<PartBooklet> data = _PartBookletService.GetQuery(p => p.Id > 0);
//Apply filtering
data = data.ApplyFiltering(command.FilterDescriptors);
//Apply sorting
data = data.ApplySorting(command.GroupDescriptors, command.SortDescriptors);
//Apply paging
//data = data.ApplyPaging(command.Page, command.PageSize);
return data.ToList();
}
private int GetCount()
{
IQueryable<PartBooklet> data = _PartBookletService.GetQuery(p => p.Id > 0);
return data.Count();
}
public ActionResult PartBookletGridPopup()
{
IEnumerable data = GetData(new GridCommand());
ViewData["total"] = GetCount();
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fa-IR");
//List<PartBooklet> Data = new List<PartBooklet>();
//Data = (List<PartBooklet>)_PartBookletService.GetList();
// return View(Data);
return View(data);
}
@model IEnumerable
@使用Telerik.Web.Mvc.UI;
@(Html.Telerik().Grid(模型)
.名称(“零件目录”)
.列(列=>
{
columns.Bound(o=>o.PartCode).宽度(150).标题(“item.PartCode”);
列.绑定(o=>o.Title).宽度(100).标题;
columns.Bound(o=>o.PartGroup1.GroupName).Title(标题);
})
.DataBinding(DataBinding=>DataBinding.Ajax()。选择(“\u CustomBinding”,“Shared”))
.Pageable(设置=>settings.Total((int)ViewData[“Total”]))
.EnableCustomBinding(真)
.Sortable()
.可过滤()
.Groupable()
.可本地化(“fa IR”)
.Footer(假)
)
@{Html.Telerik().scriptRegistrator().Globalization(true);}
这是控制器:
公共行动结果(第页)
{
返回PartialView();
}
//
私有静态整数计数;
[GridAction(EnableCustomBinding=true)]
公共操作结果\u自定义绑定(GridCommand命令)
{
IEnumerable data=GetData(命令);
List PartBookList=新列表();
foreach(数据中的var项)
{
零件手册列表。添加((零件手册)项);
}
ViewData[“total”]=GetCount();
数据=(IEnumerable)\零件手册服务。手动ProxyCreationDisableFordBContext(零件手册列表);
返回视图(“PartBookGridPopup”,新GridModel
{
数据=零件清单,
总数=计数
});
}
私有IEnumerable GetData(GridCommand命令)
{
IQueryable data=\u partbook服务.GetQuery(p=>p.Id>0);
//应用过滤
data=data.ApplyFiltering(command.filterdDescriptors);
//应用排序
data=data.ApplySorting(command.GroupDescriptors、command.SortDescriptors);
//应用分页
//data=data.applypage(command.Page,command.PageSize);
返回data.ToList();
}
私有int GetCount()
{
IQueryable data=\u partbook服务.GetQuery(p=>p.Id>0);
返回data.Count();
}
公共行动结果部分
{
IEnumerable data=GetData(new GridCommand());
ViewData[“total”]=GetCount();
System.Threading.Thread.CurrentThread.CurrentUICulture=new System.Globalization.CultureInfo(“fa IR”);
//列表数据=新列表();
//Data=(List)_partbook服务.GetList();
//返回视图(数据);
返回视图(数据);
}
难道没有人知道我的问题吗???