2014-03-06 54 views
0

我有两个表连接PrId列,我有一个视图,显示两个表中的两列,第一列第一列和第二列第二列。我的ActionResult是:asp.net mvc linq我想从两个连接表中取出两列

public ActionResult extrapoints() 
     { 
      ViewBag.dList = (from m in _session.customer 
          join p in _session.Products on m.PrId equals p.PrId 
          where m.UserId== 'john' 
          select new { FName = m.FName, price=p.price}); 


      return View(); 
     } 

,并鉴于我想同时显示FName参数和价格,我有以下看法:

@foreach(在ViewBag.dList VAR项目) {

<tr> 

    <td>@item.FName </td> 
    <td> @item.price</td> 
    </tr> 

} 但显示错误对象'不包含FName的定义,但当我使用没有Fname,价格像

@foreach (var item in ViewBag.dList) 
{ 

     <tr> 

     <td>@item</td> 
     <td> @item</td> 
     </tr> 


} 

是显示: {FName参数=赛伦德拉,价格= 1000}

怎么解决,请大家帮忙

回答

0

你可以转换匿名类类型类,先添加这个类

class Test 
    { 
     public string FName { get; set; } 
     public decimal price { get; set; } 

    } 

,让你LINQ statment作为

ViewBag.dList = (from m in _session.customer 
          join p in _session.Products on m.PrId equals p.PrId 
          where m.UserId== 'john' 
          select new Test{ FName = m.FName, price=p.price}); 

终于铸的ViewPage键入 “测试”

@foreach (var item in (List<Test>)ViewBag.dList) 
{ 

     <tr> 

     <td>@item.Fname</td> 
     <td> @item.price</td> 
     </tr> 


} 
+0

很多谢谢你帮助我 – shailendra