2013-08-05 29 views
-1

我有三个选项卡,如图所示每个选项卡从相应表中加载不同的内容,student选项卡从学生表加载学生详细信息,Details选项卡从联系人表中加载联系人详细信息和标记选项卡从标记中加载学生标记。所有三个表都具有作为标识的共同属性,该标记是唯一的。如何在单击详细信息选项卡和标记选项卡时显示学生姓名 注意:学生姓名仅存在于学生表中。如何在mvc中的单个视图中显示两个表属性

@model IEnumerable<SA.Models.Detail> 

使用这个我可以只加载细节表格属性,我怎么能得到学生表属性的详细视图,这样我可以显示学生姓名

enter image description here

enter image description here

+0

-1:只为愚蠢的标签垃圾邮件 –

回答

1

创建一个包含两个表的视图模型类。

public class SomeViewModel 
{ 
    public List<string> List1; 
    public List<string> List2; 
    ... 
} 

... 

@model SA.Models.SomeViewModel 
... 
@Model.List1 
... 

如果列表类似,您可以在渲染它们的位置创建部分视图。

+0

我也一样,为什么如u建议,鉴于同时使用(模型VAR项目)的foreach显示{@ Html.DisplayFor(modelItem => Item.List !1); @ Html.DisplayFor(modelItem => Item.List2)}我得到一个这样的错误:传递到字典中的模型项目类型'System.Collections.Generic.List'1 [SA.Models.Detail]' ,但是这个字典需要一个'System.Collections.Generic.IEnumerable'1 [SA.Models.NewModel]'类型的模型项。 – rikky

+0

不知道你做了什么,但你似乎尝试将视图模型插入到可枚举模型中。您应该将当前的视图模型更改为新的视图模型(而不是可枚举),并在控制器中使用该模型来放置数据。但我不知道你现在做了什么,发布你的代码,我可以帮忙:) – JuhaKangas

+0

看起来是正确的,所以在你看来,你使用@model SA.Models.SomeViewModel?看看你的错误,他们似乎并不真正与控制器发送的内容相匹配。 – JuhaKangas

0

在您的视图中使用以下Foreach。

@foreach(var item in Model.List1) 
相关问题