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'....} –