我在Razor视图中有一个telerik mvc网格。我正在使用自定义服务器绑定。我的问题是在分页和排序GridCommand对象属性“Page”,“PageSize”& “SortDescriptors”未获得正确的值。有趣的是,完全相同的代码适用于aspx视图。由于这是一个新视图,我已经开始使用“Razor”。 我的观点是 -
@(Html.Telerik().Grid((IEnumerable<Mitek.MobileImaging.AdminSite.Models.ImagingTransactionModel>)ViewData["DeficientGridView"])
.Name("DeficientImagesGrid")
.DataBinding(databinding => databinding.Server()
.Select("ViewDeficientImages", "SuperAdmin", new { orgId = ViewData["OrgId"], beginDate = ViewData["BeginDate"], endDate = ViewData["EndDate"], searchString = ViewData["SearchString"] }))
.DataKeys(keys => keys.Add(o => o.TranId))
.EnableCustomBinding(true)
.BindTo((IEnumerable<Mitek.MobileImaging.AdminSite.Models.ImagingTransactionModel>)ViewData["DeficientGridView"])
.Columns(
columns =>
{
columns.Template(
@<text>
<a href="@Url.Action("DeficientImageDetails", "SuperAdmin", new { id = item.TranId }) ">
<img alt="Deficient Image Details" src= "@Url.Content("~/Content/ImagesUI/detail_icon.gif")" style="border:0px" /></a>
</text>
).Title("Actions").Width(75);
columns.Bound(o => o.TranId).Hidden(true);
columns.Bound(o => o.user_email).Title("User Email").Width(250);
columns.Bound(o => o.xml_config_name).Title("Job File").Width(200);
columns.Bound(o => o.datetime_created).Title("Date Created").Format("{0:MM/dd/yyyy}").Width(200);
columns.Bound(o => o.short_note).Title("Note").Width(200);
columns.Bound(o => o.iqa_code).Title("IQA Code").Width(200);
}).HtmlAttributes(new { style = " font-family:arial; font-size: .9em; " })
.Sortable()
.Pageable(paging => paging.Position(GridPagerPosition.Bottom)
.Style(GridPagerStyles.NextPreviousAndNumeric)
.Total((int)ViewData["DeficientImagesCount"])
.PageSize(25))
)
控制器看起来像
[GridAction(GridName = "DeficientGridView")]
public ActionResult ViewDeficientImages(DeficientImagesViewModel model, GridCommand command, string button)
{
//Some Code......;
GridCommand myCommand = new GridCommand() { PageSize = 25 };
}
在分页或排序时,命令对象永远不会有command.Page,command.SortDescriptors的任何值。请注意,完全相同的代码适用于asps页面。 请帮忙。
谢谢, SDD
答案 0 :(得分:0)
您是否可以检查它是否与[GridAction(GridName = "DeficientGridView"]
属性有关,并且您的网格名称不同.Name("DeficientImagesGrid")
?
答案 1 :(得分:0)
您必须将[GridAction(EnableCustomBinding = true,GridName =“DeficientImagesGrid”)]更改为此。我今天遇到同样的问题,我发现这是有效的。如果您没有指定GridName,那么您将无法获得GridCommand。