3
Answers

How to display two class result using LINQ to view in MVC?

kls dngr

kls dngr

9y
319
1
Here is my controller action method code but I don't have any idea to display that result to view?
public class DetailsController : Controller
{
//
// GET: /Details/
List<Employee> employees = new List<Employee>();
List<Department> departments = new List<Department>();
public ActionResult Index()
{
employees.Add(new Employee { DepartmentID = 1, EmployeeID = 1, EmployeeName = "Kailas" });
employees.Add(new Employee { DepartmentID = 2, EmployeeID = 2, EmployeeName = "Dipak" });
employees.Add(new Employee { DepartmentID = 2, EmployeeID = 3, EmployeeName = "Pramod" });
employees.Add(new Employee { DepartmentID = 1, EmployeeID = 4, EmployeeName = "Prakash" });
employees.Add(new Employee { DepartmentID = 3, EmployeeID = 5, EmployeeName = "Pranav" });
employees.Add(new Employee { DepartmentID = 4, EmployeeID = 6, EmployeeName = "Dipesh" });
departments.Add(new Department { DepartmentID = 1, DepartmentName = "IT" });
departments.Add(new Department { DepartmentID = 1, DepartmentName = "BA" });
departments.Add(new Department { DepartmentID = 1, DepartmentName = "CS" });
departments.Add(new Department { DepartmentID = 1, DepartmentName = "MBA" });
departments.Add(new Department { DepartmentID = 1, DepartmentName = "Comm" });
var list = (from e in employees
join d in departments
on e.DepartmentID equals d.DepartmentID
select new {
EmployeeName = e.EmployeeName,
DepartmentName = d.DepartmentName
}).ToList();
return View(list);
}
}
 
Answers (3)
0
Amitesh Verma

Amitesh Verma

NA 875 68.4k 9y
use two models instead
0
kls dngr

kls dngr

NA 17 2.3k 9y
I have query result from two models, so how to display that to view.??
0
Amitesh Verma

Amitesh Verma

NA 875 68.4k 9y
@model IEnumerable<AdvancedMVCApplication.Models.UserModels>

@{
ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
@Html.ActionLink("Create New", "UserAdd")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.FirstName)
</th>
<th>
@Html.DisplayNameFor(model => model.LastName)
</th>
<th>
@Html.DisplayNameFor(model => model.Address)
</th>
<th>
@Html.DisplayNameFor(model => model.Email)
</th>
<th>
@Html.DisplayNameFor(model => model.DOB)
</th>
<th>
@Html.DisplayNameFor(model => model.Salary)
</th>
<th></th>
</tr>

@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Address)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email)
</td>
<td>
@Html.DisplayFor(modelItem => item.DOB)
</td>
<td>
@Html.DisplayFor(modelItem => item.Salary)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}

</table>