【发布时间】:2009-08-01 04:00:00
【问题描述】:
我正在尝试让NerdDinner 工作,但遇到了一些麻烦。
我快速观察了 index 的 actionResult 发生的地方,发现来自dinnerRepository 的项目位于赋值运算符的右侧。
但是,当我单步执行代码的下一行时,传递给视图的晚餐似乎不包含记录集。
谁能指出我哪里出错了。
结果页面完美呈现,但没有显示记录。
namespace NerdDinner.Controllers
{
public class DinnersController : Controller
{
DinnerRepository dinnerRepository = new DinnerRepository();
// GET: /Dinners/
public ActionResult Index()
{
var dinners = dinnerRepository.FindUpcomingDinners().ToList();
return View("Index", dinners);
}
// GET: /Dinners/Details/2
public ActionResult Details(int id)
{
Dinner dinner = dinnerRepository.GetDinner(id);
if (dinner == null)
return View("NotFound");
else
return View("Details", dinner);
}
}
}
这里也是视图代码
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<NerdDinner.Models.Dinner>>" %>
<asp:Content ID="Main" ContentPlaceHolderID="MainContent" runat="server">
<h2>Upcoming Dinners</h2>
<ul>
<% foreach (var dinner in Model)
{%>
<li>
<%= Html.Encode(dinner.Title)%>
on
<%= Html.Encode(dinner.EventDate.ToShortDateString())%>
@
<%= Html.Encode(dinner.EventDate.ToShortTimeString())%>
</li>
<% } %>
</ul>
</asp:Content>
还有型号代码
公共类 DinnerRepository { 私有 NerdDinnerDataContext db = new NerdDinnerDataContext();
// Query Methods
public IQueryable<Dinner> FindAllDinners()
{
return db.Dinners;
}
public IQueryable<Dinner> FindUpcomingDinners()
{
return from dinner in db.Dinners
where dinner.EventDate > DateTime.Now
orderby dinner.EventDate
select dinner;
}
public Dinner GetDinner(int id)
{
return db.Dinners.SingleOrDefault(d => d.DinnerID == id);
}
// Insert/Delete Methods
【问题讨论】:
-
可能是因为您使用的是“DinnerRepository”而不是“DinerRepository”:)
-
我非常非常尴尬,代码没有任何问题。这与数据库中的数据有关。感谢您的支持
标签: asp.net-mvc list