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
Post a Comment