0

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

4

2 に答える 2

0

[GridAction(EnableCustomBinding = true, GridName = "DeficientImagesGrid")] をこれに変更する必要があります。今日も同じ問題があり、これが機能していることがわかりました。GridName を指定しない場合、GridCommand は取得されません。

  • クエリ文字列パラメーターが QueueGrid-size=2&QueueGrid-page=3 の場合、gridCommand は入力されません。
  • クエリ文字列パラメータが size=2&page=3 の場合、gridCommand に値が設定されます
于 2012-05-22T14:33:44.530 に答える
0

[GridAction(GridName = "DeficientGridView"]属性とグリッド名が異なることに関係があるかどうかを確認できます.Name("DeficientImagesGrid")か?

于 2012-05-22T04:24:22.437 に答える