2011-05-21 83 views
0

我在我的控制器下面的代码:ASP.NET MVC如何将加入的数据传递到视图中?

public ViewResult Index() 
{ 
    var q = from ci in db.City 
      join co in db.Country on ci.CityID equals co.CityID 
      select ci; 
    return View(q); 
} 

数据库如下:

Table City: CityID, CityName 
Table Country: CountryID, CountryName 

在索引视图我如何同时显示CITYNAME和国家或地区名称:

@foreach (var item in Model) { 
    @Html.DisplayFor(modelItem => item.CityName) 

我无法得到它显示国名:(

谢谢!

回答

5

它不起作用,因为您只是在查询中选择城市。您需要选择两者。使用匿名对象是单向的:

select new { City = ci, Country = co } 

然后,您应该能够访问item.City.Citynameitem.Country.CountryName

+0

你能不能给我一个例子吗? – sophie 2011-05-21 14:43:46

+1

@sophie:我刚刚给你举个例子吗? – 2011-05-21 19:21:26

相关问题