我正在將一個Windows桌面應用程序移植到ASP.NET MVC應用程序中。我在數據庫中有一堆表,我能夠創建控制器來生成視圖,它工作正常。我想創建一個頁面來顯示所有具有設置爲false的特定列的名稱。因爲沒有表存儲這些數據,所以我必須使用linq手動查詢結果。所以我所做的就是忽略模型的創建並創建控制器。從數據庫模型中獲取數據並在視圖中顯示它不會顯示
private raceEntities db = new raceEntities();
// GET: Registrants
public ActionResult Index()
{
var registrants = (from per in db.people
join personorgrole in db.personorganizationroles on per.PersonID equals personorgrole.PersonID
join personeve in db.personevents on personorgrole.PersonOrganizationRoleID equals personeve.PersonOrganizationRoleID
join eventcla in db.eventclasses on personeve.RaceEventID equals eventcla.RaceEventID
join racecla in db.raceclasses on eventcla.RaceClassID equals racecla.RaceClassID
join personeventcla in db.personeventclasses on eventcla.EventClassID equals personeventcla.EventClassID
where personorgrole.PersonID == 90946
select new { per.FirstName, per.LastName }).ToList();
ViewBag.Res = registrants;
return View();
}
,並在視圖中我有這樣的代碼
@model IEnumerable<IDFWebApp.Controllers.Custom.peopleController>
@{
ViewBag.Title = "Index";
}
<ul>
@foreach (var r in ViewBag.Res)
{
<li>
@r
</li>
}
</ul>
目前該查詢是用於測試目的,看看數據就會顯示在頁面上,但它不顯示姓名。
試着簡化查詢,就像返回一個簡單的名稱數組一樣。這將顯示問題是查詢,控制器還是視圖。 –
另外,你說,「它不顯示名稱」。它有什麼作用? –