我已经创建了我的数据库。
我的数据库“Categories”和“Contents”中有两个表。
我的“类别”表包含:Id, CategoryName
。
我的“内容”表包含:Id, Link, Category
。
我希望在MVC Razor的单个视图中显示这两个表。
我要在每个视图中显示一个表,但是我无法在视图中显示两个表。有人可以一步一步教我如何做到这一点吗?
我不想显示硬编码的详细信息。
答案 0 :(得分:3)
您可以创建一个ViewModel,如:
public class MyViewModel
{
public List<Category> Categories {get; set;}
public List<Content> Contents {get; set;}
}
使用Controller Action中的数据填充ViewModel:
public ActionResult Index()
{
var vm = new MyViewModel();
vm.Categories = db.GetCategories();
vm.Contents = db.GetContents();
return View(vm);
}
在相应的视图中:
@model MyApp.Models.MyViewModel
现在,您可以在视图中的任何位置使用@Model
来遍历来自两个来源的数据。
答案 1 :(得分:0)
选择正确的强类型模型。 该模型将包含&#34;类别&#34;和&#34;内容&#34;的信息。
在视图中创建两个HTML表格 例如
<div>
<table>
<thead>
<tr>
<th>Column 1</th> <th>Column 2</th> ...
</tr>
</thead>
<tbody>
@foreach( var category in Model.Categories )
{
<tr>
<td>@category.detail1</td> <td>@category.detail2</td> ...
</tr>
}
</tbody>
</table>
</div>
&#13;
您可以根据需要创建任意数量的这些内容。使用CSS引用外部<div>
来设置样式并将表格放在屏幕上