Cal*_*vin 5 mysql vb.net asp.net asp.net-mvc asp.net-mvc-4
我正在开展一个小项目,我们有一个工程师表,一个项目表和一个元素表.工程师被分配了多个元素,元素可以有多个项目.我只是想知道如何展示工程师所具有的所有元素.
目前,我创建了一个将工程师与元素相关联的表.看起来有点像这样:
[Engineer Elements]
[Engineer ID][Element ID]
[1] [2]
[1] [4]
[2] [2]
[2] [8]
Run Code Online (Sandbox Code Playgroud)
所以我确实有办法链接这两个表.能否让我更好地学习使用MVC将这些表连接在一起?
如果您还没有用于表示此模型的视图模型,只需创建一个:
public class MyViewModel
{
public Engineer Engineer { get; set; }
public List<Element> Elements { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在控制器中填充一组视图模型
public ActionResult MyAction()
{
var viewModels =
(from e in db.Engineers
select new MyViewModel
{
Engineer = e,
Elements = e.Elements,
})
.ToList();
return View(viewModels);
}
Run Code Online (Sandbox Code Playgroud)
在您的视图中,只需指定您正在使用一组视图模型:
@model List<MyViewModel>
@foreach(var vm in Model)
{
<h1>Projects for engineer: @vm.Engineer.Name</ha>
<ul>
@foreach(var ele in vm.Elements)
{
<li>@ele.Name</li>
}
</ul>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17704 次 |
| 最近记录: |