C# 在视图中显示来自不同表的数据
我只是想问一下我是不是错过了什么。 我在控制器中连接了两个表 使用.NET MVC btw 无论如何,这是我的控制器:C# 在视图中显示来自不同表的数据,c#,asp.net,.net,razor,model-view-controller,C#,Asp.net,.net,Razor,Model View Controller,我只是想问一下我是不是错过了什么。 我在控制器中连接了两个表 使用.NET MVC btw 无论如何,这是我的控制器: namespace Review.Controllers { public class ReviewController : Controller { ReviewContext db = new ReviewContext(); ReviewItemsContext db2 = new ReviewItemsContext();
namespace Review.Controllers
{
public class ReviewController : Controller
{
ReviewContext db = new ReviewContext();
ReviewItemsContext db2 = new ReviewItemsContext();
MainDataModel db3 = new MainDataModel();
List<UAR_Review> uar_review = new List<UAR_Review>();
List<UAR_ReviewItems> uar_reviewitems = new List<UAR_ReviewItems>();
public ActionResult Index(int? page) {
ViewBag.AccList = (from r in db2.UAR_ReviewItems
select r.Account).Distinct();
/*var entities = from s in db2.UAR_ReviewItems
orderby s.Account
select s;*/
var entities = from s in uar_review
join st in uar_reviewitems on s.ID equals st.ReviewID into st2
from st in st2.DefaultIfEmpty()
select new MainDataModel { UAR_Review = s, UAR_ReviewItems = st };
int pageSize = 15;
int pageNumber = (page ?? 1);
return View(entities.ToPagedList(pageNumber, pageSize));
}
}
}
以下是我的观点:
@model PagedList.IPagedList<Review.Models.MainDataModel>
@using PagedList.Mvc;
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />
@{
ViewBag.Title = "Index";
}
@using (Html.BeginForm("Index", "Review", FormMethod.Get))
{
<h2>Index</h2>
@section NavBar{
<h3>Period: 2 of 2018</h3>
@Html.DropDownList("userAccount", new SelectList(ViewBag.AccList), "Select Account to Filter")
<input type="submit" value="Search" />
}
@section MiddleSection{
<table class="table">
<tr>
<th>
<span class="arrow-link contrast-large light-blue">@Html.DisplayName("Name")</span>
</th>
<th>
<span class="arrow-link contrast-large light-blue">@Html.DisplayName("Role")</span>
</th>
<th>
<span class="arrow-link contrast-large light-blue">@Html.DisplayName("Action")</span>
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
<span class="font-gotham-narrow">@item.UAR_Review.DisplayName</span>
</td>
<td>
<span class="font-gotham-narrow">@item.UAR_ReviewItems.Role</span>
</td>
<td>
@Html.HiddenFor(modelItem => item.UAR_ReviewItems.Response)
<span class="font-gotham-narrow">
@Html.RadioButton("Response", "Retain")@Html.Label("Retain") 
</span>
<span class="font-gotham-narrow">
@Html.RadioButton("Response", "Remove")@Html.Label("Remove")
</span>
</td>
</tr>
}
</table>
<br />
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("Index",
new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))
}
}
}
问题是,当我运行它时,站点中没有显示任何内容
我只是想问一下我是否错过了什么。
另外,请忽略左侧的dropdownlist,我一直计划使用它按AccountTypes对页面中显示的元素进行排序。这存储在我的UAR_ReviewItems表中。现在,我只是想弄清楚这里出了什么问题,以及为什么没有显示任何元素。您的屏幕抓图显示页面计数为0。
你的模型是空的。检查您的查询。在返回实体以检查其中是否有数据之前,您是否尝试在代码中放置断点?您没有从数据库数据设置uar\u review和uar\u review项。@Saadi您的意思是什么?UAR_Review和UAR_ReviewItems在我的SQL数据库中已经有内容。@mahlatse我有,当我尝试在即时窗口中检查实体的内容时,它是这样说的:{System.Linq.Enumerable.d_23}结果视图:展开结果视图将枚举IEnumerableTry展开结果,并查看是否得到任何数据