2016-07-06 7 views
-2

私は最初のMVC Webアプリケーションを作成しており、誰かが私を助けてくれたら問題に遭遇しました。MVC 5 - ビュー内のリストビュー(別のモデル)?

クライアント情報のすべての列を持つ「Client」というモデルがあります。ジョブ情報を持つ「ジョブ」という別のモデルがあります。

クライアントには「パブリック仮想ICollectionジョブ」があり、「ジョブ」には「パブリック仮想クライアントクライアント」があります。クライアントには多数のジョブがあり、ジョブにはクライアントが1つしかありません。

私はクライアントの基本的なCRUD機能を作成しましたが、これは特定のクライアントの「詳細」ページにあります。そのクライアントに関連付けられているすべてのジョブを含む表を表示します。 - CRUD内のCRUD(意味が分かりますか?)私はジョブリストのビューを作成し、クライアントの詳細ページで "Html.RenderPartial"を使用しようとしました。

これを行う方法については、アドバイスをいただければ幸いです。 MVCで未熟なことを言いなさい!ありがとうございました:)

答えて

2

ClientクラスにはJobsプロパティがありますので、それを繰り返して詳細ビューにジョブを表示できます。

@model Client 
<h2>@Model.Name</h2> 
<h3>Jobs for this client </h3> 
@if(Model.Jobs!=null) 
{ 
    <table> 
    <tr> 
     <th>Title </th> 
    </tr> 
    @foreach(var job in Model.Jobs) 
    { 
     <tr><td>@job.Title</td></tr> 
    } 
    </table> 
} 
else 
{ 
    <p>No jobs found</p> 
} 

DetailsアクションメソッドがClientオブジェクトを返すと仮定します。あなたが使用することができ、クライアントのためのジョブリストをロードするために

public ActionResult Details(int id) 
{ 
    var client = new Client(); 
    //Hardcoding the values for demo. You may get it from db using the Id 
    client.Name="Microsoft"; 
    client.Jobs= new List<Job>{ 
    new Job { Title ="Developer"}, 
    new Job { Title ="proDuct Manager"} 
    }; 
    return View(client); 
} 
+0

は、このようにそれを行うために管理しました!どうもありがとうございます!あなたの命の恩人。 – Sjk

0

: "_jobpartialView" では、クライアントVivewで

@model Client 

    <h3>@Model.Name</h3> 

    @Html.Render("_jobpartialView",client.Jobs) 

@model IEnumerable<Jobs> 

@foreach(var job in Model) 
{ 
//your code 
} 
関連する問題