2017-10-30 13 views
0

ムービーレンタルプログラムをプログラミングしています。 現在の顧客が借りている映画のリストをブラウザで表示したいと考えています。 すべてのエンティティに「show rented movies」というボタンを追加し、配列内のすべてのムービーを「表示」して成功させました(スクリーンショット参照) 行の配列にあるすべてのFilmNamesを表示したいテーブル、テキストと同じです。 どうすればいいですか? ありがとう!ここ here is the debuge screenshot here is a screenshotビュー内のjsonオブジェクトのリストを表示します。ASP.NET

ここCustomersContoller

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using MoviePro.Models; 
using System.Data.Entity; 

namespace MoviePro.Controllers 
{ 
    public class CustomersController : Controller 
    { 
     // GET: Customers 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     public ActionResult loaddata() 
     { 
      MyDatabaseEntities3 dc = new MyDatabaseEntities3(); 

      var customers = dc.Customers.Select(c => new 
      { 
       c.CustomerName, 
       c.Phone, 
       c.CustomerId, 
      }); 
      return Json(new { data = customers }, JsonRequestBehavior.AllowGet); 

     } 

     public ActionResult ShowFilemsByCust(int id) 
     { 
      MyDatabaseEntities3 dc = new MyDatabaseEntities3(); 
      var query = (from f in dc.Films 
         join cf in dc.CustomersFilms on f.FilmId equals cf.FilmId 
         where cf.CustomerId == id 
         select new 
         { 
          filmName = f.FilmName 
         }).ToList(); 
      return Json(new { data = query }, JsonRequestBehavior.AllowGet); 
     } 

あるCustomers.cshtml

@{ 
    ViewBag.Title = "Index"; 
} 
<a class="btn btn-primary" style="margin-bottom:10px" onclick="PopupForm('@Url.Action("AddOrEdit","Customers")')"><i class="fa fa-plus"></i> New Customer</a> 

<h2>Customers</h2> 

<div style="width:90%; margin:0 auto;"> 
    <table id="myTable"> 
     <thead> 
      <tr> 
       <th>Customer Name</th> 
       <th>Phone</th> 
       <th></th> 
      </tr> 
     </thead> 
    </table> 
</div> 
<style> 
    tr.even { 
     background-color: #F5F5F5; 
    } 
</style> 


@* Load datatable css *@ 
<link href="//cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css" rel="stylesheet" /> 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" /> 
@* Load datatable js *@ 
@section Scripts{ 
    <script src="//cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script> 
    <script src="https://cdn.datatables.net/1.10.15/js/dataTables.bootstrap.min.js"></script> 

    <script> 
     var Popup, dataTable; 
     $(document).ready(function() { 
      dataTable= $('#myTable').DataTable({ 
       "ajax": { 
        "url": "/Customers/loaddata", 
        "type": "GET", 
        "datatype": "json" 
       }, 
       "columns" : [ 
         { "data": "CustomerName", "autoWidth": true }, 
         { "data": "Phone", "autoWidth": true }, 

         {"data":"CustomerId" , "render" : function (data) { 
          return "<a class='btn btn-default btn-sm' onclick=PopupForm('@Url.Action("AddOrEdit","Customers")/" + data + "')><i class='fa fa-pencil'></i> Edit</a><a class='btn btn-danger btn-sm' style='margin-left:2px' onclick=Delete(" + data + ")><i class='fa fa-trash'></i> Delete</a><a class='btn btn-default btn-sm' style='margin-left:2px' onclick=Show(" + data + ")>Show Rented Movies</a>"; 
         }, 
          "orderable": false, 
          "searchable": false, 
          "width": "150px" 
         } 
       ], 
       "language": { 

        "emptyTable": "No data found, Please click on <b>Add New</b> Button" 
       } 
      }); 
     }); 


     function Show(id) { 
       $.ajax({ 
        type: "POST", 
        url: '@Url.Action("ShowFilemsByCust", "Customers")/' + id, 
        success: function (data) { 
         /* 
         if (data.success) { 
          dataTable.ajax.reload(); 
          $.notify(data.message, { 
           globalPosition: "top center", 
           className: "success" 
          }) 
         }*/ 
        } 
       }); 
     } 

    </script> 
} 
+1

あまりにも多くのコードです。私たちがあなたの問題を理解し、再構築することができる絶対最小限にあなたの投稿を短縮してください。そして、まずあなた自身でそれを試してみてください。 **あなたが試してみると、私は助けます。 ** –

+1

[mcve]コードを提供してください。関係のない不要な部分はすべて削除し、関連するもののみを表示してください。 –

+0

ok ....編集しました – user4485863

答えて

0

は、私はあなたが多目的同じグリッドcustomerMovieページに移動、そしてべきではないと考えています。

関連する問題