0
我已经加入了两个表(Projects,Task_Distribution),并将这些值传递给View作为viewbag。但我无法访问视图中的值(例如:@ item.Project_Id),如果我像@item一样编写,它将显示如下结果,如This image在视图中传递对象的值时遇到困难asp.net MVC
如何才能访问该值?
这里是我的控制器代码:
public class TableController : Controller
{
// GET: Table
public ActionResult Table()
{
Database_testEntities1 db1 = new Database_testEntities1();
List<Project> p = new List<Project>();
List<Task_Distribution> t = new List<Task_Distribution>();
var query = (from PI in db1.Projects join TI in
db1.Task_Distribution on PI.Project_Id equals TI.Project_Id select new { PI.Project_Id, TI.Employee_Id }).ToList();
ViewBag.table = query;
return View();
}
}
这是我的看法
@{
ViewBag.Title = "Table";
}
<h2>Table</h2>
<table>
@foreach (var item in ViewBag.table)
{
<tr>
<td>
@item
</td>
</tr>
}
</table>
你们能不能给我一个解决方案吗?
因为'选择新{PI.Project_Id,TI.Employee_Id}'创建(含2个属性)的匿名对象的集合。使用包含你想要的2个属性的视图模型,并将查询投影到那个('select new YourViewModel {...}')。并将模型传递给视图(不要使用'ViewBag'),然后将其'foreach(模型中的var项){.item.yourProperty'....} –