【发布时间】:2013-08-27 22:17:56
【问题描述】:
首先,请注意我对此有点陌生。我想知道,如何使用来自两个模型(两个表)的列制作 Webgrid。
我有两个模型,如下所示: 模型1:
public int Id { get; set; }
public string Name { get; set; }
模型2:
public int Id { get; set; }
public int Model1_Id { get; set; }
public string Level { get; set; }
public string AdditionalInfo { get; set; }
public string Note { get; set; }
在控制器中处理数据并发送到视图。
...
List<Model2> data = new List<Model2>();
...
return View(data)
现在开始问题。在视图中,我正在从模型创建 Webgrid。一旦出现问题,列的名称必须与属性名称相同,否则就会失败。
@model IEnumerable<Model2>
<div class="class-name">
@grid.GetHtml(columns: new [] {
grid.Column("Level"),
grid.Column("AdditionalInfo", header: "Additional info"),
grid.Column("Note")
}, tableStyle: "some-name")
</div>
没关系,但我希望在该网格中也有来自 Model1 的名称,并且值将取决于 Model1_Id。
如果我尝试按 grid.Column 添加新列,它会下降。
如果我添加第二个模型(在第一行之后),它会写“文件中只允许一个'模型'语句”。
我试过的东西都掉了。
我尝试与谷歌合作,但几个小时后,我想问你们。 谢谢
【问题讨论】:
-
你可以将模型合二为一
-
同意,创建一个模型,其中包含您在两个模型中的网格中所需的属性。
-
谢谢大家。我知道解决方案将非常简单。再次感谢。
标签: asp.net-mvc razor