2017-08-16 13 views
1

"ObjectContextインスタンスが破棄され、接続が必要な操作に使用できなくなった"イントラネットアプリケーションで、リレーショナルSQLデータベース用のjQuery DataTable。jQuery DataTableの実装中にレイジー読み込みの問題

@section Scripts { 
<script src="//cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script> 
<script> 
    $(document).ready(function() { 
     $('#DataTbl').DataTable({ 
      "ajax": { 
       "url": "/Home/loaddata", 
       "type": "GET", 
       "datatype": "json" 
      }, 
      "columns": [ 
       { "data": "FacilityName", "autowidth": true }, 
       { "data": "FacilityType", "autowidth": true }, 
       { "data": "MachineType", "autowidth": true }, 
       { "data": "MachineFunctionDesc", "autowidth": true }, 
       { "data": "PhysicalLocation", "autowidth": true } 
      ] 
     }); 
    }); 
</script> 
} 

がどのように私はloaddata()内を参照する必要があるオブジェクトをプリロードすることができます。これは、データテーブルと私のビューのコードが

using CyberAssets.Models; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 

namespace CyberAssets.Controllers 
{ 
    public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     public ActionResult loaddata() 
     { 
      using (CyberAssetsEntities dc = new CyberAssetsEntities()) 
      { 
       var data = dc.CyberAssets.OrderBy(a => a.Id).ToList(); 
       return Json(new { data = data }, JsonRequestBehavior.AllowGet); 
      } 
     } 
    } 
} 

です:

は、これは私にHomeControllerコードですusing私のHomeControllerのブロックで、基本的に遅延ロードを避けますか?あなたのDataTableの初期化コードに次の行を追加する必要があり

答えて

1

 "processing": true, 
     "serverSide": true, 

だから、DataTableのために、あなたのコードは次のようになります。

$('#DataTbl').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": { 
      "url": "/Home/loaddata", 
      "type": "GET", 
      "datatype": "json" 
     }, 
     "columns": [ 
      { "data": "FacilityName", "autowidth": true }, 
      { "data": "FacilityType", "autowidth": true }, 
      { "data": "MachineType", "autowidth": true }, 
      { "data": "MachineFunctionDesc", "autowidth": true }, 
      { "data": "PhysicalLocation", "autowidth": true } 
     ] 
    }); 
+0

は、トリックを行うようには見えませんでした。それでも同じエラーメッセージが表示されます。 – ScopeY

+0

@ScopeY EntityFrameworkデータベースコンテキストオブジェクトが破棄されたようです。コードのどの行でエラーが発生しますか? – fatherOfWine

+0

私は実際にエラーを修正することができました。ちょっとした微調整のタイプのもの。私はあなたの助けに感謝します。 – ScopeY

関連する問題