2017-11-08 11 views
0

このエラー通知を引き起こしたIEnumerable<model>IEnumerable<ViewModel>のビューを変更しました。いくつかの同様の問題を発見したhere。これについてさらに理解するのにhttp://datatables.net/tn/4もチェックされましたが、この問題を解決できませんでした。 ViewModelではなくModelを使用して元の状態に戻すと、正しく動作しています。 ModelとViewModelの同じプロパティがあるためです。行0の要求されていないパラメータ '9' - DataTableエラー

閲覧:

@model IEnumerable<ERPLite.Models.DeliveryScheduleVM> 


@section Scripts{ 
    <script> 
     $(function() { 

      $('#TableId').DataTable({ 
       'paging': true, 
       'lengthChange': false, 
       'searching': true, 
       'ordering': true, 
       'info': true, 
       'autoWidth': false, 
       "scrollX": true, 
       'order': [[0, 'desc']]//orderby desc 
      }) 
     }) 
    </script> 
} 

<div class="box"> 

    <!-- /.box-header --> 
    <div class="box-body"> 
     <table id="TableId" class="table table-bordered table-striped"> 
      <thead> 
       <tr> 
        <th hidden="hidden">@Html.DisplayNameFor(model => model.ID)</th> 

        <th>@Html.DisplayNameFor(model => model.ProductName)</th> 

        <th>@Html.DisplayNameFor(model => model.Quantity)</th> 

        <th>Actions</th> 
       </tr> 
      </thead> 
      <tbody> 
       @foreach (var item in Model) 
       { 
        <tr> 
         <td hidden="hidden"> 
          @Html.DisplayFor(modelItem => item.ID) 
         </td> 

         <td> 
          @Html.DisplayFor(modelItem => item.ProductName) 
         </td> 

         <td> 
          @Html.DisplayFor(modelItem => item.Quantity) 
         </td> 


        </tr> 
       } 

      </tbody> 

     </table> 
    </div> 
    <!-- /.box-body --> 
</div> 

処置方法:

のDataTable警告:

public ActionResult Index() 
     { 
      var deliverySchedules = db.DeliverySchedules.ToList(); 
      var deliverySchedulesVMList = new List<DeliveryScheduleVM>(); 
      foreach(var item in deliverySchedules) 
      { 
       var deliveryScheduleVM = new DeliveryScheduleVM(); 
       deliveryScheduleVM.ID = item.ID; 
       deliveryScheduleVM.ProductID = item.ProductID; 
       var product = db.Products.Find(item.ProductID); 
       deliveryScheduleVM.ProductName = product.ProductName; 
       deliveryScheduleVM.Quantity = item.Quantity; 
       deliverySchedulesVMList.Add(deliveryScheduleVM); 
      } 
      return View(deliverySchedulesVMList); 
     } 

詳細な説明警告= TABLEIDテーブルID - 要求された未知パラメータを '9' 行についてこのエラーの詳細については、 http://datatables.net/tn/4を参照してください。

助けをお待ちしています。前もって感謝します。

+0

パラメータは、HTMLマークアップで指定されたもの以上の表の列や表のセルの量が「DataTable」要件を満たしていない可能性がある整数のようです。 –

答えて

0

ヘッダー列と本文列の数が一致していないため、問題が判明しました。 マークアップで<th>Actions</th><tbody>には<td></td>がありませんでした。 それは、私が見落としてしまった、間違った間違いでした。 警告メッセージの性質に従って、データ/列の部分をチェックしていたので、ここに投稿してください。

+0

あなたの質問に「アクション」がありません! –

+0

@StephenMuecke申し訳ありませんが、コピー中に誤って削除しました。 – user2695433

関連する問題