asp.net - Displaying results of multiple tables in same view in mvc with razor -



asp.net - Displaying results of multiple tables in same view in mvc with razor -

i have 3 tables follows: jobs: idjob, description, ...

jobskill: idskill, id_job, title, description, level ...

jobrequirments: idreq, id_job, title, description ...

(filled info follow: 1, job1, title1 2, job2, title 2 ///// 1, 1, skill1job1 2, 1, skill2job1 3, 2, skill1job2 /// 1, 1, req1job1 2, 1, req2job1 3, 2, req1job2 4, 2, req2job2 /// , on

in view display jobs jobs table follows:

@model ienumerable<jobshop.jobs> @{ viewbag.title = "jobs listing index"; } <div class="title-lines"> <h3 class="mt0">available jobs listing</h3> </div> @if (model.count() > 0) { <div> @{int = 1; foreach (var item in model) { <div class="bordered @(i++ % 2 == 0 ? "highlighted" : "")"> <p>@item.idjob</p> <p>@item.titlu</p> <p>@item.dateadd</p> <div class="thumb"> <img src="@item.imagesrc" /> </div> <p class="">@item.description</p> <p class="">@item.content</p> <p class="">@item.demand</p> <p>@item.address</p> <!--here want div jobskills <div> foreach (var item1 in whatmodel1) { <div class="jobskill"> //skill(s) <p>@item1.id_job</p> <p>@item1.title</p> <p>@item1.level</p> </div> } </div> --> <!--here want div jobsrequirments <div> foreach (var item2 in whatmodel2) { <div class="jobreq"> //requirment(s) <p>@item2.id_job </p> <p>@item2.requirment</p> </div> --> } </div> </div> } } </div> } else {<p style="color: red">sorry ! no record(s) found.</p>}

how can pull info other 2 tables on each iteration of main foreach loop?

i have model:

namespace jobshop { using system; using system.collections.generic;

public partial class jobs { public jobs() { this.jobrequirements = new hashset<jobrequirements>(); this.jobskills = new hashset<jobskills>(); } public int idjob { get; set; } public nullable<int> idwho { get; set; } public string user { get; set; } public nullable<system.datetime> dateadd { get; set; } public string imagesrc { get; set; } public string titlu { get; set; } public string wherewhat { get; set; } public string description { get; set; } public string content { get; set; } public string solicitare { get; set; } public nullable<system.datetime> datestart { get; set; } public nullable<system.datetime> dateend { get; set; } public string orar { get; set; } public string address { get; set; } public nullable<double> latitudine { get; set; } public nullable<double> longitudine { get; set; } public string zip { get; set; } public virtual aspnetusers aspnetusers { get; set; } public virtual icollection<jobrequirements> jobrequirements { get; set; } public virtual icollection<jobskills> jobskills { get; set; } } }

and relevant part of controller:

namespace jobshop { public class jobscontroller : controller { private jobshopentities db = new jobshopentities(); // get: jobs public actionresult index(string sortorder, string currentfilter, string searchstring, int? page) { //stuff paging, searching , sorting viewbag.currentsort = sortorder; viewbag.namesortparm = string.isnullorempty(sortorder) ? "name_desc" : ""; viewbag.datesortparm = sortorder == "date" ? "date_desc" : "date"; if (searchstring != null) { page = 1; } else { searchstring = currentfilter; } viewbag.currentfilter = searchstring; // var jobs = db.jobs.include(j => j.aspnetusers); //some search stuff if (!string.isnullorempty(searchstring)) { jobs = jobs.where(s => s.titlu.contains(searchstring) || s.description.contains(searchstring)); } // switch (sortorder) { case "name_desc": jobs = jobs.orderbydescending(s => s.titlu); break; case "date": jobs = jobs.orderby(s => s.dateadd); break; case "date_desc": jobs = jobs.orderbydescending(s => s.dateadd); break; default: //jobs = jobs.orderby(s => s.titlu); jobs = jobs.orderby(s => s.dateadd); break; } // int pagesize = 5; int pagenumber = (page ?? 1); homecoming view(jobs.topagedlist(pagenumber, pagesize)); //return view(jobs.tolist()); }

thank you

the model instance of ienumerable<jobshop.jobs>.

foreach (var item in model)

each item instance of jobshop.jobs. can access properties of jobshop.jobs in regular c# class.

foreach(var jobrequirements in item.jobrequirements)

and

foreach(var jobskills in item.jobskills)

asp.net razor model-view-controller

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -