【发布时间】:2018-07-31 06:59:59
【问题描述】:
只是想问一下我在这里是否遗漏了什么。 我有两个表在我的控制器中连接在一起 顺便说一句,使用 .NET MVC 无论如何,这是我的控制器:
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 }))
}
}
}
问题是,当我运行它时,站点中没有显示任何内容。here's the page.
我只是想问一下我是否遗漏了什么。 另外,请忽略左侧的下拉列表,我一直计划使用它来按 AccountType 对页面中显示的元素进行排序(这存储在我的 UAR_ReviewItems 表中)。现在,我只是想弄清楚这里出了什么问题以及为什么没有显示任何元素。
【问题讨论】:
-
您是否尝试在返回实体之前在代码中放置断点以检查其中是否有数据?
-
您没有从数据库数据中设置 uar_review 和 uar_reviewitems。
-
@Saadi 你是什么意思? UAR_Review 和 UAR_ReviewItems 在我的 SQL 数据库中已有内容。
-
@mahlatse 我做了,当我试图在即时窗口中检查“实体”的内容时,它是这样说的:{System.Linq.Enumerable.
d__23f__AnonymousType6 >, Review.Models.UAR_ReviewItems, Review.Models.MainDataModel>} 结果视图:展开结果视图将枚举 IEnumerable -
尝试展开结果,看看是否有任何数据
标签: c# asp.net .net razor model-view-controller