2009-08-28 60 views
0

我认为这可能是一个非常简单的问题,但我只是刚刚开始使用.net和c#而已,只是真的只是最终让我的头绕着OO的东西。ASP.NET MVC如何创建一个模型,从2个表中拉取数据,以1个视图显示

我已经构建了NerdDinner应用程序,并且正在使用我自己的项目构建它。

在书呆子晚餐的背景下,我需要做的是展示晚餐的细节,同时也在同一页面上展示所有关联的RSVP。

的URL可以是一样的正常

晚宴/信息/ 2

但2将用于带回所有RSVP的相关人士认为,在列表中显示它们在同一页上。

我已经花了一些时间尝试在dinnerRepository.cs文件中做到这一点,但我有点卡住了,不确定最好的方法来做到这一点。

然后,我想能够从同一页面添加更多的rsvp(我明白,在这个例子中dosent工作,但你看到我正在尝试添加更多的行到tableB,与单行相关tableA)

如果您觉得第二部分应该在其他地方被问到,请只回答第一个问题。

非常感谢您的帮助。

回答

1

根本不需要更改dinnerRepository.cs文件。晚餐模型已经有一个RSVP收藏。您只需要修改详细信息视图,如下所示:

<p> 
    <% foreach(NerdDinner.Models.RSVP rsvp in this.Model.RSVPs) 
     { %> 
     <%= Html.Encode(rsvp.AttendeeName) %> 
     <br /> 
     <%} %> 
    </p> 

已完成。

+0

感谢您使它如此清晰,完美! – 2009-08-28 11:32:03

0

IIRC,细节视图通过Dinner的一个实例。只需在详细信息页面上呈现该晚餐的RSVP。

+0

那么你是说我不必对模型做任何事情,它应该已经在那里了? – 2009-08-28 11:25:43

0

我喜欢使用RenderAction这种东西。 RenderAction允许你定位一个特定的子控制器方法来渲染页面中的子视图。由于它是一种模块化技术,因此可以在多个页面中使用而不用更改。

RenderAction是期货组合的一部分:Microsoft.Web.Mvc